我正在尝试使用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
时可能出现的问题。请帮忙。
答案 0 :(得分:1)
通常,您需要在执行mcc编译的应用程序时设置MATLAB运行时环境。
首次使用deploytool
(从命令行)编译你的hello.m程序,你可能会获得更多里程。 MATLAB的应用程序构建器将生成一个run_hello.sh文件,您可以仔细阅读该文件以了解它们如何设置库。然后,为了执行你的程序,你实际上会这样称呼它:
./ run_hello.sh / Applications / MATLAB / MATLAB_Runtime / v90 /
注意:我刚刚为MATLAB运行时环境添加了一个通用位置,但实际位置将根据您构建应用程序的MATLAB的平台和版本而有所不同。