mcc 生成无响应的可执行文件

mcc producing an unresponsive executable

我正在尝试使用 mcc 函数编译一个 Matlab 函数。我的函数将一行文本写入文件。

function hello()
    ofid = fopen('hello.txt','w');
    fprintf(ofid, 'Hello there, this is matlab.\n');
    fclose(ofid);
end

从 Matlab 控制台调用时,它 运行 符合预期。但是,当我使用 mcc

将文件编译为可执行文件时
/opt/matlab/matlab2008a/bin/mcc -m hello.m

和运行它作为

./hello

它似乎永远 运行 并且不产生 hello.txt 文件。可执行文件和 Matlab 函数文件都在 Matlab 工作目录中。

我看不出我在使用 mcc 时可能有什么问题。请帮忙。

通常情况下,您需要在执行mcc 编译的应用程序时设置MATLAB 运行环境。

通过使用 deploytool(从命令行)在这里编译您的 hello.m 程序,您可能会在第一次获得更多里程。 MATLAB 的应用程序构建器将生成一个 run_hello.sh 文件,您可以仔细阅读该文件以了解他们如何设置他们的库。然后,要执行您的程序,您实际上会这样调用它:

./run_hello.sh /Applications/MATLAB/MATLAB_Runtime/v90/

注意:我刚刚包含了 MATLAB 运行时环境的通用位置,但实际位置将根据您构建应用程序所用的平台和 MATLAB 版本而有所不同。