【问题标题】:Problems with linking MATLAB and Visual Studios链接 MATLAB 和 Visual Studio 的问题
【发布时间】:2020-09-08 14:27:13
【问题描述】:

在我的头文件(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++ 项目中链接到 matlib 库。
  • 是的,我确实收到了一个错误,他们说我缺少 libmat.dll,但我认为这与我没有下载一些工具有关。谢谢!

标签: c++ visual-studio matlab linker-errors unresolved-external


【解决方案1】:

错误消息表明编译器无法解析符号。显然,您没有正确设置项目。除了“Additional Include Directories”选项外,您还需要在Linker-&gt; Additional Library Directories中设置库目录以使用外部库。

因为您在 VS C++ 中运行项目,所以您需要在该选项中使用 $(MATLABPATH)\extern\lib\&lt;arch&gt;\microsoft,其中 $(MATLABPATH)"C:\Program Files (x86)\MATLAB\R2015b" 并且&lt;arch&gt; 可能是 Win64 或 Win32,具体取决于您的 VS 项目中的目标机器标志(即 32 位或 64 位)。

【讨论】:

  • 谢谢你!结合上面的评论,这有助于解决我的问题:)。
【解决方案2】:

首先,您可以检查是否在Porperties-&gt;VC++ Directories-&gt; Include Directories 中添加C:\Program Files (x86)\MATLAB\R2015b\extern\include,在Porperties-&gt;VC++ Directories-&gt;Library Directories 中添加C:\Program Files (x86)\MATLAB\R2015b\extern\lib\winXX\microsoft

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

最后,您可以参考 Microsoft Docs 关于LNK2019LNK1120

【讨论】:

  • 谢谢!我认为存在一些问题:我缺少一些工具(我最终添加了所有工具以防万一),我需要您列出的库目录,并且我还缺少下面评论中的附加库目录。跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-29
  • 2012-05-27
  • 2021-06-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多