连接 MATLAB 和 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:Userscelessourcereposbci2000-svntoolsP300Classifier_electrode_selectionP300Classifier_electrode_selection.exe : fatal error LNK1120: 1 unresolved externals

我尝试进入属性->C/C++->常规>附加包含目录并添加 C:\Program Files (x86(\MATLAB\R2015b\extern\include"的文件路径,但我仍然收到相同的错误。 如果没有这个包含路径,我只收到第二个错误,而不是第一个错误。

我正在使用Visual Studio 2010(用于旧的研究实验室(和R2015b用于MATLAB。

任何形式的帮助将不胜感激!

错误消息指示编译器在解析符号时遇到问题。显然,您没有正确设置项目。除了"其他包含目录"选项外,您还需要在Linker-> Additional Library Directories中设置库目录以使用外部库。

由于您在 VS C++ 中运行项目,因此您需要在该选项中具有$(MATLABPATH)externlib<arch>microsoft,其中$(MATLABPATH)"C:\Program Files (x86(\MATLAB\R2015b"><arch>可能是 Win64 或 Win32,具体取决于 VS 项目中的目标计算机标志(即 32 位或 64 位(。

首先,您可以检查是否在Porperties->VC++ Directories-> Include Directories中添加C:Program Files (x86)MATLABR2015bexternincludeC:Program Files (x86)MATLABR2015bexternlibwinXXmicrosoftPorperties->VC++ Directories->Library Directories中添加

。其次,您可以检查是否在Porperties->Linker->Input->Additional Dependencies中添加了libmat.lib;ibeng.lib;libmx.lib

最后,您可以参考Microsoft文档,了解LNK2019和LNK1120。

最新更新