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