是否可以创建不需要Microsoft Visual C ++运行时库的win64 MEX文件

时间:2012-07-14 06:17:31

标签: matlab visual-c++ mex matlab-deployment compiled

我试图看看您是否可以分发MEX文件而无需最终用户安装C ++运行时库。 当您使用visual 2010 express创建MEX时,Matlab会发出此警告:


警告:使用Microsoft Visual C ++生成的应用程序/组件
           2010年要求Microsoft Visual Studio 2010运行时间            可以在用于部署的计算机上使用库            要重新分发您的应用程序/组件,请确保            部署机器有这些运行时库。


是否有编译器不需要在终端机器上安装运行时库?

1 个答案:

答案 0 :(得分:2)

是的,有:MinGW(-w64) GCC。它只链接到OS库msvcrt.dll(当你使用-static选项链接时),它不需要安装,是Windows的一部分。

要让Matlab使用它,你需要跳过一些箍。 Here is some information。忽略Cygwin的东西,并确保使用从上面的链接目标x64 Windows的MinGW-w64工具链。注意我没有亲自测试过这个,但这是你最好的选择。 Mathworks也不支持它,所以你是独立的。

顺便说一下,安装MSVC++2010 redistributable的问题是什么?对许可没有影响,运行MEX代码意味着安装了Matlab。安装一件小东西对恕我直言不会那么麻烦。