【发布时间】:2017-06-15 09:55:35
【问题描述】:
我必须使用 mat.h 在我的 C++ 代码中打开一个 .mat 文件。 我的代码是:
#include "mat.h"
using namespace std;
int main() {
MATFile *pmat;
pmat = matOpen("ns3Da.mat","r");
return 0;
}
我用来编译的命令是:
g++ program.cpp -I/usr/local/MATLAB/R2012a/extern/include -L/usr/local/MATLAB/R2012a/bin/* -L/usr/local/MATLAB/R2012a/extern/lib - o 程序
我得到的错误是:
/tmp/ccSWqTnb.o: In function 'main':
programma_c.cpp:(.text+0x13): undefined reference to 'matOpen'
collect2: error: ld returned 1 exit status
我使用 Linux Ubuntu 16.04 LTS 和 Matlab 2012a 版本。
我该如何解决这个错误?
【问题讨论】:
-
您没有链接所需的库。您只需指定库搜索路径。
-
^ --- 即在构建命令中添加
-lmat -
好的,谁认为“mat.h”是一个好名字?看起来好像有人拼错了“math.h”
标签: c++ linux matlab compiler-errors mat