我试图从.cpp文件调用matlab。我用下面的命令来编译engdemo.cpp
,其中包括"engine.h"
g++ engdemo.cpp -I/usr/local/matlabR2010a/extern/include -L/usr/local/matlabR2010a/extern/lib -o engdemo
我得到的是以下内容:
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'
...
collect2:ld返回1退出状态
我猜可能是某些链接问题,但我不确定。请帮帮我。提前谢谢了!
最佳答案
跟进what @Kurt S said,您需要包括库。这些是您需要的常见文件:libeng.lib libmat.lib libmx.lib,但您可能需要其他文件。
因此,您要添加链接选项-llibeng -llibmat -llibmx
但是您可能也需要其他人。
关于c++ - 从C++调用Matlab,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7757613/