2017-06-01 89 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文件,一切都运行没有任何问题。