QT工程x.pro,
qmake x.pro生成Makefile,
make
最后生成目标文件时,连接出错:
“(.text+0x0): multiple definition of ”的错误,查找,有原因是因为#include ".cpp/.c",检查代码,不是此问题。
用nm 编译的文件.o,未现出多个相同的方法名。
检查Makefile,发现2处理相同的 .o编译配置,相同的cpp编译成相同的.o。
检查x.pro,发现2处理相同的 .cpp文件。
修改x.pro,删除其中一处理,
qmke
make
编译通过。
后继,对比两次生成的.o,大小相同, nm两次生成的.o,输出的信息相同(不知道编译器如何区别出来 ,TODO: )
本文介绍了解决QT工程中因重复编译同一.cpp文件导致的链接错误的方法。通过对x.pro文件进行检查和调整,成功消除了编译过程中出现的多个定义错误。

878

被折叠的 条评论
为什么被折叠?



