首页 > 代码库 > 关于我遇到的“LNK 2019无法解析的外部符号”的链接错误
关于我遇到的“LNK 2019无法解析的外部符号”的链接错误
昨天在调试程序的时候出现了“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无法解析的外部符号”的链接错误
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。