提问人:ccer 提问时间:5/22/2020 最后编辑:Amos Egelccer 更新时间:5/22/2020 访问量:179
链接 MATLAB 和 Visual Studio 时出现的问题
Problems with linking MATLAB and Visual Studios
问:
在我的头文件(pages.h)中,我完成了:
#include "mat.h".
在我的 cpp 中,我所要做的就是一个简单的:
MATFile *pmat.
但是,每当我尝试构建代码时,我都会收到一个错误,指出:
1>pages.obj : error LNK2019: unresolved external symbol _matOpen referenced in function "public: void __thiscall DataPage::LoadDBIData(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?LoadDBIData@DataPage@@QAEXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
和
1>C:\Users\celes\source\repos\bci2000-svn\tools\P300Classifier_electrode_selection\P300Classifier_electrode_selection.exe : fatal error LNK1120: 1 unresolved externals
我尝试进入 Properties->C/C++->General->Additional Include Directories 并添加文件路径 C:\Program Files (x86)\MATLAB\R2015b\extern\include“,但我仍然收到相同的错误。如果没有这个包含的路径,我只收到第二个错误,而不是第一个错误。
我正在使用 Visual Studio 2010(它用于一个旧的研究实验室)和 R2015b 用于 MATLAB。
任何形式的帮助将不胜感激!
答:
错误消息指示编译器在解析符号时遇到问题。显然,您没有正确设置项目。除了“其他包含目录”选项外,还需要在链接器>其他库目录中
设置库目录,以便使用外部库。
因为您在 VS C++ 中运行项目,所以您需要在该选项中加入“C:\Program Files (x86)\MATLAB\R2015b”,并且可能是 Win64 或 Win32,具体取决于 VS 项目中的目标计算机标志(即 32 位或 64 位)。$(MATLABPATH)\extern\lib\<arch>\microsoft
$(MATLABPATH)
<arch>
评论
首先,您可以检查是否在 中添加了 、。C:\Program Files (x86)\MATLAB\R2015b\extern\include
Porperties->VC++ Directories-> Include Directories
C:\Program Files (x86)\MATLAB\R2015b\extern\lib\winXX\microsoft
Porperties->VC++ Directories->Library Directories
其次,您可以检查是否添加了.libmat.lib;ibeng.lib;libmx.lib
Porperties->Linker->Input->Additional Dependencies
最后,您可以参考Microsoft文档,了解LNK2019和LNK1120。
评论