linux 在 matlab 中使用 mex 编译时出错

error while compiling using mex in matalb in linux

我正在使用代码开发人员提供的一些指令来编译库。 但是我收到如图所示的错误。有人对此有任何想法吗?这是我第一次使用 mex

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

我试图在 linux 中使用 matlab 中的 mex 进行编译。

mex 不直接识别 C++ 编译器或链接器选项。您有两个选择:

  1. 一劳永逸,修改你的matlab设置中的编译器选项.xml文件。例如在 linux 上这个文件被称为 mex_C++_glnxa64.xml.
  2. 临时将选项附加到现有选项:

    mex CXXFLAGS=['$CXXFLAGS, 'your compiler options string'] 文件名

    mex LDFLAGS=['$LDFLAGS, 'your linker options string'] 文件名

两者都取决于您使用的平台。例如,在 windows 上,您必须使用 COMPFLAGS 而不是 CXXFLAGS。 (1) 的优点是它已经设置为使用平台的正确选项名称。请参阅 "mex" 文档中的 "Override Default Compiler Switch"。