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

时间:2016-01-15 22:33:20

标签: matlab executable mcc

我正在尝试使用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时可能出现的问题。请帮忙。

1 个答案:

答案 0 :(得分:1)

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

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

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

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