Lam*_*thy 6 c++ matlab matlab-engine
我试图从.cpp文件中调用matlab.我使用以下命令编译
engdemo.cpp包含的内容"engine.h"
g++ engdemo.cpp -I/usr/local/matlabR2010a/extern/include -L/usr/local/matlabR2010a/extern/lib -o engdemo
Run Code Online (Sandbox Code Playgroud)
我得到的是以下内容:
engdemo.cpp:(.text+0xdb): undefined reference to `engOpen'
engdemo.cpp:(.text+0x12d): undefined reference to `mxCreateDoubleMatrix'
engdemo.cpp:(.text+0x143): undefined reference to `mxGetPr'
engdemo.cpp:(.text+0x175): undefined reference to `engPutVariable'
engdemo.cpp:(.text+0x189): undefined reference to `engEvalString'
Run Code Online (Sandbox Code Playgroud)
...
collect2:ld返回1退出状态
我想这可能是一些链接问题,但我不确定.请帮帮我.提前谢谢了!
您需要使用 g++ 的-l选项告诉它要链接哪些库。根据您的链接行,该库应该位于/usr/local/matlabR2010a/extern/lib中。例如,如果您需要的库名为libmatlab.a,您需要将该-lmatlab选项添加到命令行。