链接 MATLAB 和 Visual Studio 时出现的问题

Problems with linking MATLAB and Visual Studios

提问人:ccer 提问时间:5/22/2020 最后编辑:Amos Egelccer 更新时间:5/22/2020 访问量:179

问:

在我的头文件(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。

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

C++ Visual-Studio MATLAB 链接器错误 未解决外部

评论

1赞 drescherjm 5/22/2020
我想你忘了链接到你的 c++ 项目中的 matlib 库。
0赞 ccer 5/23/2020
是的,我实际上确实收到了一个错误,他们说我缺少libmat.dll,但我认为这与我没有下载某些工具有关。谢谢!

答:

0赞 Y. Chang 5/22/2020 #1

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

因为您在 VS C++ 中运行项目,所以您需要在该选项中加入“C:\Program Files (x86)\MATLAB\R2015b”,并且可能是 Win64 或 Win32,具体取决于 VS 项目中的目标计算机标志(即 32 位或 64 位)。$(MATLABPATH)\extern\lib\<arch>\microsoft$(MATLABPATH)<arch>

评论

0赞 ccer 5/23/2020
谢谢你!这与上面的评论相结合,有助于解决我:)的问题。
0赞 Barrnet Chou 5/22/2020 #2

首先,您可以检查是否在 中添加了 、。C:\Program Files (x86)\MATLAB\R2015b\extern\includePorperties->VC++ Directories-> Include DirectoriesC:\Program Files (x86)\MATLAB\R2015b\extern\lib\winXX\microsoftPorperties->VC++ Directories->Library Directories

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

最后,您可以参考Microsoft文档,了解LNK2019LNK1120

评论

0赞 ccer 5/23/2020
谢谢!我认为存在一些问题:我缺少一些工具(为了以防万一,我最终添加了所有这些工具),我需要您列出的库目录,并且我还缺少下面评论中的附加库目录。