最近在用VS 2008开发,初学遇到不少问题,最头疼的问题之一就是:LNK2019。

百度一下讲的并不够全面,反正都没解决我的问题。

error LNK2019问题在VC 6.0中是error LNK2001: unresolved external symbol问题,可能错误号改了。

编译时出现类似这样的错误:Dlgcode.obj : error LNK2019: 无法解析的外部符号 _readRegmark,该符号在函数 _AboutDlgProc@16 中被引用。这种错误的本质是链接器无法在已编译的obj、lib或dll文件中找到函数定义。

1、这是百度找到的方法:http://jingyan.baidu.com/article/4d58d54135d7a79dd4e9c0ad.html。就是有头文件(有了函数声明)却没有lib。一般出现于你使用了第三方提供的库,下载了头文件却忘了载库文件,或库文件忘记放到相应的目录下了。

2、你自己写的函数声明的头文件也写了函数定义的cpp文件,却依然出现LNK2019错误。可能原因:忘记将这两个文件加入工程了。一般出现于用Visual Studio和记事本(或UltraEdit)混合开发过程,你用记事本include了相应的头文件,却忘了在Visual Studio的工程中加入它们了。也可能出现于在解决方案的开发过程,在解决方案下的某个工程中加入了它们却忘了在其他工程中加入,我只接触过VC 6和VS 2008,中间好多年没用过新版本VS,到2008时突然发现怎么多了个“解决方案”,“解决方案”下面还可以放好多工程,于是经常在一个工程中写了共享的源代码,却忘了在别的工程中加入它们。这个问题类似于第1个,不同的是这个库是你自己提供的,但没有把它交给VS 2008编译出来。

3、你自己写的函数声明的头文件也写了函数定义的cpp文件也加入工程了而且你很确定函数体肯定是在这个库文件中,却依然出现LNK2019错误。可能原因:C语言和C++语言混编,因为C++支持函数重载所以C++编译器生成的库文件中的函数名会面目全非,例如C编译器会生成 _readRegmark 这个函数名,而C++编译器则生成了"void __cdecl readRegmark(char *)" (?readRegmark@@YAXPAD@Z)这么个函数名。当你的函数是用C语言写的,VS编译器会按C语言规则编译,但链接器却不知道还傻傻的用C++规则的函数名去找结果就找不到了,而你还百般肯定TM的不就在这个库中吗你个睁眼瞎。解决:在C语言的头文件中加入

#ifdef __cplusplus
extern "C" {
#endifvoid readRegmark(char *regmark);  //这里写函数声明

#ifdef __cplusplus
}
#endif

给链接器提示这个函数是C语言的,别TM找错了。

4、这是我百度来的,姑且也放进来。http://blog.csdn.net/jtop0/article/details/5779782。模板声明和实现要放在同一文件夹中。

5、也是百度来的。http://www.programlife.net/error-lnk2019.html。内联函数定义在头文件中。

6、百度的。http://jingyan.baidu.com/article/d621e8da0d7c022864913f40.html。错误的工程类型造成的。

7、貌似还有不尽之处。http://www.douban.com/note/65638800/。

转载于:https://www.cnblogs.com/hiloves/p/4678848.html

“error LNK2019: 无法解析的外部符号”之分析相关推荐

  1. c语言未解析的外部标志,“error LNK2019: 无法解析的外部符号”之分析

    最近在用VS2008或更高版本开发,初学遇到不少问题,最头疼的问题之一就是:LNK2019. 百度一下讲的并不够全面,反正都没解决我的问题. error LNK2019问题在VC 6.0中是error ...

  2. mysql lnk2019_“error LNK2019: 无法解析的外部符号”之分析

    最近在用VS 2008开发,初学遇到不少问题,最头疼的问题之一就是:LNK2019. 百度一下讲的并不够全面,反正都没解决我的问题. error LNK2019问题在VC 6.0中是error LNK ...

  3. MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16

    1.问题描述 做开源项目时,碰到VS2010报错如下: MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 _ ...

  4. error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCR... 2011年08月05日 09:08:15

    经过测试,能解决问题 error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCR... 一,问题描述 MSVCRTD.lib(crtexew.obj) ...

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

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

  6. “error LNK2019: 无法解析的外部符号”的几种可能原因

    1.前言 error LNK2019: 无法解析的外部符号这个错之前见过很多次,能知道最根本的原因在于链接过程中没有搜索到程序用到的库文件,即*.lib. 笔记本重装了系统,有32Bit升到64Bit ...

  7. CyAPI.lib(CyAPI.obj) : error LNK2019: 无法解析的外部符号...

    1>------ 已启动生成: 项目: S_BulkLoop, 配置: Debug Win32 ------ 1>生成启动时间为 2014/3/14 17:52:26. 1>Init ...

  8. error LNK2019: 无法解析的外部符号 WinMain,该符号在函数 int __cdecl invoke_main(void)”中被引用

    From:https://blog.csdn.net/u012570056/article/details/74639894 一,问题描述 MSVCRTD.lib(exe_winmain.obj) : ...

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

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

  10. VS2010 error LNK2019: 无法解析的外部符号

    使用VS2010编译程序,一般是没有添加附属依赖库,或者是没添加头文件,最近在学习VC++游戏编程,用VS2010建一个Win32项目,写一个画图程序, 但是编译是提示"error LNK2 ...

最新文章

  1. ViewGroup的Touch事件分发(源码分析)
  2. Python实现微信防撤回
  3. 关于图片轮播的几种思路
  4. [云炬python学习笔记]Numpy中内置函数min(),max(),sum()与Python中内置函数min(),max(),sum()性能对比分析
  5. Google 发布网页统计报告
  6. msg计算机指令怎样用,WIN7里使用msg命令发送消息失败
  7. Eclipse使用技巧
  8. 【摘抄】SLAM中的位姿
  9. 软件开发和服务项目价格构成及评估方法
  10. PDMS.NET窗体
  11. 30行代码实现微信自动回复机器人
  12. 一天一大 lee(计数二进制子串)难度:简单-Day20200810
  13. Unity合规检测处理
  14. MATLAB-工具箱-如何导出拟合系数?
  15. Libra为何而生?Facebook为何要给 Libra创建Move语言?Calibra技术负责人给出了回答...
  16. 八种生物成像技术,你青睐谁?
  17. 【b站求职笔记】行路院-王贺 2020年12月笔记
  18. 《Linux系统调用:opendir,readdir,closedir,rewinddir》
  19. 反射型XSS靶场练习
  20. javascript eq()用法

热门文章

  1. android wear系统源码,android wear5.1怎么样 android wear5.1更新评测
  2. java中什么是线程安全_Java 多线程:什么是线程安全性
  3. 【数据库原理实验(openGauss)】认识DBMS系统
  4. scala Trait及其与抽象类的比较
  5. GIVE root password for maintenance
  6. Maven项目打包成可执行Jar文件
  7. 《构建高可用Linux服务器 第3版》—— 2.7 系统维护时应注意的非技术因素
  8. 《IT项目管理》读书笔记(1) —— 概述
  9. HOOK使用:全局键盘钩子
  10. 全面启动远程医疗行业