2017-06-01 115 views
1

我在Matlab 2017a中創建了幾個mex文件。當我用Visual Studio C++ 2017編譯它們時,它們在我的電腦上運行良好。然而,當我嘗試使用他們另一臺計算機上,我得到的是說Matlab mex「缺少依賴共享庫」

Error using mfss_mex.filter_uni 
Invalid MEX-file 
'path_to_mex_file\mexfile.mexw64': 
Missing dependent shared libraries: 
'MSVCP140.dll' required by 
'path_to_mex_file\mexfile.mexw64' 
'VCRUNTIME140.dll' required by 
'path_to_mex_file\mexfile.mexw64' 

我想我可以通過在每臺計算機上安裝Visual Studio的運行時解決此這將讓上運行,但我想一個錯誤避免這種情況。有沒有辦法編譯這些mex文件,並避免與Visual Studio C++編譯器的這些依賴關係?

+0

在使用另一個版本的Matlab和Visual Studio之前,我已經能夠編譯這些文件,而不用創建這些依賴關係。 –

回答

1

Mathworks solution這是爲了在任何有此問題的計算機上安裝C++編譯器運行時。

我發現,我只是需要對違規.dll文件(MSVCP140.dllVCRUNTIME140.dll)複製到同一文件夾與我.mexw64文件,一切都運行沒有任何問題。