码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-06-10 10:40:10      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:同名   调试   log   src   tracking   pop   目标   csdn   产生   

昨天在调试程序的时候出现了“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无法解析的外部符号”的链接错误

标签:同名   调试   log   src   tracking   pop   目标   csdn   产生   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!