VS 报错之“错误 LNK2019 无法解析的外部符号 “__declspec(dllimport) class xxx *__cdecl...xxxxxx@@YAPEAVxxx@@XZ)”解决方法

Index 目录索引

  • 写在前面
  • 报错分析
  • 解决方法
  • 参考文章


写在前面

本文将介绍使用VS(Visual Stdio)编译环境时可能会出现的报错及解决方法。

报错分析

在使用VS做项目时,加载dll动态链接库文件后进行编译,可能会遇到下面的报错:

错误   LNK2019   无法解析的外部符号 "__declspec(dllimport) class xxx * __cdecl xxxxxx(void)" (__imp_?xxxxxx@@YAPEAVxxx@@XZ),该符号在函数 main 中被引用

分析报错信息可知,报错原因是未正确加载动态链接库所对应的lib库文件。


解决方法

解决方法如下:
第一步,需要在项目的属性页中依次点击 链接器 -> 常规 -> 附加库目录1,将动态链接库所对应的.lib库文件加上,如下图所示:
VS 报错之“错误 LNK2019 无法解析的外部符号 “__declspec(dllimport) class xxx *__cdecl...xxxxxx@@YAPEAVxxx@@XZ)”解决方法_第1张图片
第二步,接着依次点击 链接器 -> 输入 -> 附加依赖项,并填入动态链接库所对应的.lib库文件(如果对应的是同一个动态链接库文件,则这里填入和上面同名的.lib库文件):
VS 报错之“错误 LNK2019 无法解析的外部符号 “__declspec(dllimport) class xxx *__cdecl...xxxxxx@@YAPEAVxxx@@XZ)”解决方法_第2张图片
按照上述方式操作完毕之后,再重新编译,之前的报错即消失,问题得到解决。


写到这里,差不多本文也就要结束了。如果我的这篇文章帮助到了你,那我也会感到很高兴,一个人能走多远,在于与谁同行


参考文章


  1. error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public 解决办法
    ↩︎

你可能感兴趣的:(VS·C++,visual,studio,c++,ide)