由于经常使用VS的开发环境,所以经常遇到一些错误提示,其中error LNK2019是很常见的一个报错。今天将此错误的原因和常见解决办法根据自己的经验小小总结一下。

  问题样式:

Error    2    error LNK2019: unresolved external symbol "__declspec(dllimport) public: bool __thiscall TimeMgrServer::initSvr(enum TimeMgType,bool)" (__imp_?initSvr@TimeMgrServer@@QAE_NW4TimeMgType@@_N@Z) referenced in function "private: void __thiscall DDSCenterControl::on_act_start_service_triggered(bool)" (?on_act_start_service_triggered@DDSCenterControl@@AAEX_N@Z)

  

  原因:找不到相应的库文件,即xx.lib文件。找不到库文件的原因可能有以下几种:

  ①你使用别人的库,比如说DDS的库、OPenCV的库、OpenGL的库等等第三方库。常见情况是你只是包含了头文件,但是没有引入库文件

  ②你没有使用别人的库,微软自带的一些库也可能出现这样的问题。这时常见情况是链接失败的函数所在的头文件在项目属性的包含目录下,但是相应的库文件却不在项目属性的默认库目录里。比如说常见问题

  样式里的CreateViewGLContext(struct HDC__ *)函数就是这种情况,此函数在头文件wingdi.h里定义,这个头文件在项目属性中默认的包含目录下,但是对应的库文件opengl32.lib却不在库目录里

  ③你使用了自己做的库文件。这种情况自己没有试过,看过网上的一些说法

  解决办法:核心是添加相应的库文件即可

  对于情况①,有两种办法,一种是通常配置一下项目属性就好(在你相应开发环境配置好的前提下),在项目属性的库目录里面添加相应库文件所在的目录,然后在链接器->输入->附加依赖项里加入对应的库文件即可

  

  第二种解决办法是利用预处理命令#pragma comment (lib, "xxx.lib"),关于这条命令的使用方法不是本文的主要目的,读者可参见网上其他博客。这样做的前提是所用的库目录在VS的默认库目录下或者库文件所在目录已经被添加到项目的库目录里或者相应的库文件已经被你拷贝到当前项目目录下,相当于是第一种方法的“代码化”版本

  对于情况②,你只需要找到函数所在的库文件(通常按照函数名在网上搜即可找到函数所在的库文件),然后文件首部添加#pragma comment (lib, "xxx.lib")即可

  对于情况③,因你使用方法不同,可参见情况一和情况二处理

VS错误之error LNK2019: 无法解析的外部符号相关推荐

  1. openssl+RSA加解密出现以下错误C++ error LNK2019: 无法解析的外部符号

    编译提示错误: 1>RSA.obj : error LNK2019: 无法解析的外部符号 BIO_new,函数 "void __cdecl GenerateRSAKey(class s ...

  2. VC++常规错误之一:error LNK2019: 无法解析的外部符号 public: void __thiscall

    error LNK2019: 无法解析的外部符号 "public: void __thiscall 遇到这种情况原因有二个,简单点说: 其一:某个方法只是在.h里面声明,没有在cpp里面实现 ...

  3. error LNK2019: 无法解析的外部符号 六处错误的纠正

    错误    18    error LNK2019: 无法解析的外部符号 "public: void __thiscall cv::FeatureDetector::detect(class ...

  4. vs2008 error LNK2019: 无法解析的外部符号总结

    做DLL的时候一直把报错"错误    1    error LNK2019: 无法解析的外部符号 "void __cdecl sevenaxes20170316(double,do ...

  5. error LNK2019: 无法解析的外部符号 _Direct3DCreate9@4,该符号在函数 long __cdecl InitD3D(struct HWND__ *) (?InitD3D

    出现如下错误: error LNK2019: 无法解析的外部符号 _Direct3DCreate9@4,该符号在函数 "long __cdecl InitD3D(struct HWND__ ...

  6. error LNK2019: 无法解析的外部符号 _Direct3DCreate9@4,该符号在函数 int __cdecl InitD3D(struct HWND__ *,unsigned lo

    错误 1 error LNK2019: 无法解析的外部符号 _Direct3DCreate9@4,该符号在函数 "void __cdecl InitD3D(struct HWND__ *)& ...

  7. C++——错误 error LNK2019: 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用

    错误 error LNK2019: 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用 maim->main 居然是把main写错了,出现这个错误其实就 ...

  8. VC++常见错误原因解析之error LNK2019: 无法解析的外部符号 public: void __thiscall

    VC++常见错误原因解析之error LNK2019: 无法解析的外部符号 "public: void __thiscall 出现这个错误,应该首先查看"#include" ...

  9. C语言LNK2019错误怎么解决,error LNK2019: 无法解析的外部符号 (解决方法)

    在用C++进行套接字编程时遇到下面的错误: 1>------ 已启动生成: 项目: NetClient, 配置: Debug Win32 ------ 1>  NetClient.cpp ...

最新文章

  1. C# 设置Word文档保护(加密、解密、权限设置)
  2. JVM内存堆布局图解分析
  3. 提升UI技能的5个步骤
  4. .NetCoreLinuxDockerPortainer踩坑历险记
  5. 调用SMS腾讯云短信验证码API的几个坑,及详细使用流程
  6. C++判断函数执行效率方法封装
  7. SQL转换时间的时分
  8. 记录一个项目测试过程最佳实践及改进建议
  9. wps android版本下载,wps文档app下载-wps文档 安卓版v2.7.6-PC6安卓网
  10. 字节学妹的数据分析笔记,收藏
  11. SpringBoot整合activiti7,demo示例
  12. MATLAB求函数零点与极值
  13. 学习笔记47—PhotoShop技巧
  14. 排查 java 程序CPU飙升问题
  15. 搭建WinDbg应用程序调试环境
  16. urp综合教务系统 php 课表,URP综合教务系统教师录入成绩指南
  17. python原始数据是什么_荐Python种MNE库模拟原始脑电数据
  18. 微信小程序仿抖音,微视上下滑动整屏切换视频带关注,收藏
  19. c语言程序设计教程内容,(C语言程序设计教程.doc
  20. 2019年,什么行业最赚钱?

热门文章

  1. 【数据结构笔记21】图的遍历,DFS与BFS,连通图
  2. 【数据结构笔记12】平衡二叉树,AVL树,RR旋转/LL旋转/LR旋转/RL旋转,AVL树插入的代码实现
  3. Photoshop和WPF双剑配合,打造炫酷个性的进度条控件
  4. golang slice分割和append copy还是引用
  5. 华三服务器linux系统安装u盘,华三H3CR4900服务器安装linux系统
  6. 不要再危言耸听!家用电脑辐射全揭秘
  7. python从入门到实践答案第四章_《python从入门到实践》--第四章基本操作列表 重点及课后练习...
  8. 举例说明TCP/IP
  9. [Regular] 4、正则表达式的匹配原理原则
  10. GeoTools——shp转geojson