Ошибка при компиляции с использованием mex в matalb в linux

Я использую некоторые инструкции, предоставленные разработчиком кода для компиляции библиотеки. Однако я получаю ошибку, как показано на рисунке. У кого-нибудь есть идеи по этому поводу? Я впервые использую мекс

mex LDFLAGS="\$LDFLAGS -Wl,-rpath,\." nativeborg.cpp libborg.so

Я пытался скомпилировать, используя Mex в Matlab в Linux.

введите описание изображения здесь

1 ответ

Решение

mex не распознает параметры компилятора или компоновщика C++. У вас есть два варианта:

  1. Раз и навсегда измените XML-файл параметров компилятора в настройках matlab. Например, в Linux этот файл называется mex_C++_glnxa64.xml.
  2. Временно добавить параметры к существующим параметрам:

    mex CXXFLAGS = ['$ CXXFLAGS,' строка параметров вашего компилятора '] имя файла

    mex LDFLAGS=['$LDFLAGS, ' строка параметров вашего компоновщика '] имя файла

Оба зависят от того, какую платформу вы используете. Например, в Windows вы должны использовать COMPFLAGS вместо CXXFLAGS. Преимущество (1) состоит в том, что он уже настроен на использование правильных имен опций для платформы. Смотрите "Переопределить переключатель компилятора по умолчанию" в документации "mex".

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