mcc производит неотзывчивый исполняемый файл
Я пытаюсь скомпилировать функцию Matlab, используя mcc
функция. Моя функция записывает строку текста в файл.
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 ответ
Как правило, вам нужно настроить среду выполнения MATLAB при выполнении скомпилированных mcc-приложений.
Вы, вероятно, получите больше пробега в первый раз, используя deploytool
(из командной строки), чтобы скомпилировать вашу программу hello.m здесь. Конструктор приложений MATLAB создаст файл run_hello.sh, который вы можете просмотреть, чтобы увидеть, как они настраивают свои библиотеки. Затем, чтобы выполнить вашу программу, вы бы назвали ее так:
./run_hello.sh / Приложения /MATLAB/MATLAB_Runtime/v90/
Примечание: я только что включил общее местоположение для среды выполнения MATLAB, но фактическое местоположение будет зависеть от вашей платформы и версии MATLAB, с которой вы создали приложение.