Можно ли скомпилировать и запустить timestwo.c
или timestwo.f
файлы в качестве примера? Смотрите Сборку C MEX-функция или Создание файла MEX на языке Фортран.
Вы используете поддерживаемый компилятор? Для актуального списка поддерживаемых компиляторов см. Поддерживаемые и Совместимые Компиляторы.
mex
команда не может найти файлы расположенными на имена папок, которые содержат символы non-ASCII.
gcc -fPIC
ОшибкиЕсли вы соединяете статическую библиотеку с файлом MEX, который является разделяемой библиотекой, вы можете получить сообщение об ошибке, содержащее текст recompile with -fPIC
. Попытайтесь компилировать статическую библиотеку с -fPIC
отметьте, чтобы создать позиционно-независимый код. Для получения информации об использовании gcc компилятора см. https://www.gnu.org/. Для актуального списка поддерживаемых компиляторов см. Поддерживаемые и Совместимые Компиляторы.
Когда вы компилируете файл MEX Фортрана с помощью свободного исходного формата формы, MATLAB® отображает сообщение об ошибке следующей формы:
Illegal character in statement label field
mex
поддерживает фиксированную исходную форму. Для получения информации о различии между свободными и фиксированными исходными формами отошлите к ФОРТРАНУ 77 Справочников Языка.
Если заголовочные файлы MATLAB генерируют несколько синтаксических ошибок, когда вы компилируете свой код по системам UNIX®, вы можете использовать non-ANSI® компилятор C.
Наиболее распространенная проблема настройки, создающая файлы MEX C/C++ в системах UNIX, включает использование компилятора C не-ANSI или то, чтобы не удаваться передать флаг компилятора, говоря ему скомпилировать код С ANSI.
Один способ знать, есть ли у вас этот тип проблемы настройки, состоит в том, если заголовочные файлы MATLAB генерируют несколько синтаксических ошибок, когда вы компилируете свой код. При необходимости получите компилятор C ANSI.