【问题标题】:Running Matlab MCR and MATLAB on the Same Machine在同一台机器上运行 Matlab MCR 和 MATLAB
【发布时间】:2012-03-20 20:59:19
【问题描述】:

我无法让已编译的 .exe 文件使用 MCR 而不是 Matlab 运行(我可以说是因为该程序使用了多个线程,如果它使用 MCR 运行它就不会这样做)。 MATLAB 文档 (http://www.mathworks.com/help/toolbox/compiler/f12-999353.html) 说:

“要针对 MCR 安装运行已部署的组件,mcr_root\ver\runtime\win32|win64 必须出现在 matlabroot\runtime\win32|win64 之前的系统路径中。

如果 mcr_root\ver\runtime\arch 首先出现在编译的应用程序路径上,则应用程序使用 MCR 安装区域中的文件。

如果 matlabroot\runtime\arch 出现在已编译的应用程序路径的第一个位置,则应用程序使用 MATLAB Compiler 安装区域中的文件。"

谁能帮我把这些点联系起来?我不知道这是什么意思。谢谢!

【问题讨论】:

    标签: matlab matlab-compiler


    【解决方案1】:

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

    通过编译选项解决了问题:

    -R -singleCompThread

    【讨论】:

    • 谢谢——这是一个非常有用的选择。我认为我的情况还有另一个问题,因为当我在没有 MATLAB 的计算机上运行相同的 exe 时,它​​只使用一个线程,所以我不认为它是 exe 本身。我更关心使用 MCR 与 MATLAB,而不是线程本身的数量。
    【解决方案2】:

    您需要在 Windows 中正确设置 PATH 全局环境变量。你如何做到这一点完全取决于 Windows 版本。

    这是来自 Google 的第一个链接,查询“在 Windows 上设置路径”:http://www.computerhope.com/issues/ch000549.htm

    这个变量是一个目录列表。确保您在此列表中具有 MCR 可执行文件的目录比具有 MATLAB 可执行文件的目录更早。

    【讨论】:

    • 感谢您的回复。我尝试设置 PATH 变量,但没有任何改变。该列表也不包含任何具有 MATLAB 可执行文件的目录。
    • 通过getenv('path') 将PATH 变量签入您的代码。设置路径后也尝试重新启动计算机。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-11
    • 2023-03-31
    • 1970-01-01
    相关资源
    最近更新 更多