在同一台机器上运行Matlab MCR和MATLAB

问题描述:

我无法获得编译后的.exe文件,而是使用MCR而不是Matlab运行(我可以判断出程序使用了多个线程,如果它是使用多线程与MCR一起运行)。 MATLAB文档(http://www.mathworks.com/help/toolbox/compiler/f12-999353.html)说:在同一台机器上运行Matlab MCR和MATLAB

“要根据MCR安装运行部署的组件,mcr_root \ ver \ runtime \ win32 | Win64上必须出现在matlabroot \运行\ Win32的系统路径上|。Win64的

如果mcr_root \版本\运行\拱首先出现在编译的应用程序路径上,应用程序使用这些文件的MCR安装面积

如果matlabroot \ runtime \ arch首先出现在已编译的应用程序路径上,则应用程序将使用MATLAB Compiler安装区中的文件。“

任何人都可以为我点点更多?我不知道这是什么意思。谢谢!

我有同样的问题:我的编译代码是多线程的,我不想要。

的问题得到了通过使用选项编译解决:

-R -singleCompThread

+0

谢谢 - 这是一个非常有用的选项知道。我认为在我的情况下还有另一个问题,因为当我在没有MATLAB的计算机上运行相同的exe时,它只使用一个线程,所以我不认为它是exe本身。我更关心使用MCR和MATLAB,而不是线程数本身。 – user1189728 2012-03-20 22:56:50

您需要在Windows中正确设置PATH全局环境变量。你怎么做完全取决于Windows版本。

下面是从谷歌“在Windows上设置路径”第一个超级链接查询:http://www.computerhope.com/issues/ch000549.htm

这个变量是一个目录列表。确保你有一个MCR可执行文件的目录,而不是可执行文件的目录。

+0

感谢您的答复。我尝试设置PATH变量,但没有改变。该列表也没有包含MATLAB可执行文件的任何目录。 – user1189728 2012-03-20 22:53:56

+0

用'getenv('path')'检查你的代码PATH变量。尝试在设置路径后重新启动计算机。 – yuk 2012-03-21 01:57:18