【发布时间】:2012-02-29 13:54:39
【问题描述】:
我正在尝试使用 MSVS 2008 读取 C++ 中的 .mat 文件,但在构建简单程序时出现以下错误:
1>ex3.obj:错误 LNK2019:未解析的外部符号 _matClose 在函数 _main 中引用 1>ex3.obj : 错误 LNK2019: 函数 _main 中引用的未解析的外部符号 _matOpen
我也研究了 Google,似乎编译器无法链接到使用此函数(matOpen 和 matClose)所需的库。我以前从未使用过外部库,但我尝试了在 Google 中找到的所有方法来添加 Matlab 库。我做了以下事情:
工具 --> 选项 --> 项目和解决方案 --> VC++ 目录 --> 显示目录:包含文件 --> 然后我添加了 matlab 包含目录的路径 --> C:\Program Files\ MATLAB\extern\include
我对库文件做了同样的事情:C:\Program Files\MATLAB\extern\lib\win64\microsoft
我也为该项目这样做: 右键项目-->属性-->配置属性-->C/C++-->常规-->附加包含目录-->添加“C:\Program Files\MATLAB\extern\include\win64”
然后我在 Linker --> General --> Additional Library Directories --> 中做了同样的事情,并添加了“C:\Program Files\MATLAB\extern\lib\win64\microsoft”
所以我真的不知道问题出在哪里。这是我正在尝试构建的源代码:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <mat.h>
int main(int argc, char *argv[])
{
const char *file = "mozart_part1.mat";
MATFile *pmat;
pmat = matOpen(file, "r");
if(pmat == NULL)
{
std::cout << "Error: could not open MAT-file!";
return(1);
}
matClose(pmat);
}
你能看到或猜到我犯了什么错误
【问题讨论】: