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, с которой вы создали приложение.

Другие вопросы по тегам