Запуск кода C++ под Matlab с использованием кластера sge?
У меня есть код Matlab, который выполняет функции C++, он хорошо работает на моем компьютере или любом другом рабочем столе, на котором я пытался его запустить. (чтобы запустить его на другом рабочем столе, я скопировал функции matlab/ C++ и файлы mex)
В последнее время я пытался запустить код на кластере sge, но я получаю сообщение об ошибке
"Неопределенная функция"img "для входных аргументов типа" double ""
"img" - это функция C++, вызываемая matlab.
кто-нибудь сталкивался с такой же проблемой? кто-нибудь знает как это решить?
10x Elad
1 ответ
Похоже, у вас разные ОС на ноутбуке / десктопе и SGE. Для разных архитектур нужноmex
ваш код C++.
конфигурировать mex
по твоему
>> mex -setup
Я настоятельно рекомендую использовать gcc
, Теперь вы можете mex
ваш код C++. Обратите внимание, что расширение для файлов mex отличается в windows/sge, а также в 32-битных и 64-битных системах.
Если у вас нет правильного расширения для файла mex (можно проверить с помощью mexext
команда) Matlab не может найти функцию для запуска, и вы получаете ошибку, похожую на то, что вы получили.
Счастливая Ханука.