我正在尝试使用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 版本而有所不同。