首页 > 其他 > 详细

关于我遇到的“LNK 2019无法解析的外部符号”的链接错误

时间:2017-06-10 10:15:04      阅读:306      评论:0      收藏:0      [点我收藏+]

昨天在调试程序的时候出现了“LNK 2019无法解析的外部符号”的问题(VS2008),依照网上说的方法都没有解决这个问题,最后在项目文件里发现有两个同名的可是不在同一个目录下的cpp文件,而产生LNK错误的cpp文件里有对这个重名文件的引用,结果导致了当中一个cpp文件产生的目标文件(obj)覆盖了真正须要的cpp产生的OBJ文件,导致链接的时候找不到指定的符号而出现了链接错误。

以下给个图说明一下我遇到的情况吧:

技术分享技术分享

技术分享

在项目中。同一时候包括了目录1和目录2中的全部cpp文件,而ref.cpp须要调用的函数是目录2中a.cpp中函数add,也就是途中红色是引用的函数。

情况一:当目录1中的a.cpp先于目录2中的a.cpp被编译,这样调用没有问题,ref.cpp可以找到add函数。目标文件a.obj中有add函数,没有Max函数

情况二:当目录1中的a.cpp比目录2中的a.cpp被编译的话。ref.cpp就无法找到add函数。由于暂时目录中的a.obj被目录一中的a.cpp生成的目标文件给替换了,目标文件a.obj中有Max函数。没有add函数

情况二会出现LNK 2019无法解析的外部符号的链接错误。改一下a.cpp的名称或者改一下编译顺序就能解决这个问题,最好该名称。


关于我遇到的“LNK 2019无法解析的外部符号”的链接错误

原文:http://www.cnblogs.com/jzssuanfa/p/6977766.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!