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

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

时间:2014-11-18 11:53:37      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:blog   http   文件   2014   问题   log   ad   ef   tt   

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

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

bubuko.com,布布扣bubuko.com,布布扣

bubuko.com,布布扣

在项目中,同时包含了文件夹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无法解析的外部符号”的链接错误

标签:blog   http   文件   2014   问题   log   ad   ef   tt   

原文地址:http://blog.csdn.net/daiafei/article/details/41242339

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