Qt multiple definition of (function)

前景:做项目代码优化,将原来的代码按简单工厂模式进行重新组合编写;对整个模块的文件夹进行分类、归纳。中途,出现这一问题。
问题详述:某一类中的全部函数都有error:multiple definition of “function name”。
解决过程:
首先。用百度查找,大多数是multiple definition of variable;这一问题的解决方法事关全局变量的声明,不可做本问题的解决方法。
还有和我遇到的问题类似,给出的解决方法是“在 .h ”文件中添加编译声明;这一方案未解决问题。
然后。在Stack Overflow中搜寻答案。某答案中提及 “在某个 .cpp 文件中声明了另一个 .cpp 文件” 故而造成了函数的重复定义(multiple definition)。进过仔细筛查,我并没有犯这种错误。(所有函数在 .h 声明,在 .cpp 实现,泾渭分明)。
最后。在联想和猜测中解决了问题。大部分答案提出了“头文件包含,编译器连接环节出现问题,编译器的重复定义”,于是在Makefile文件上努力;无果。联想到 .pro 文件与Makefile有关(真的??),于是在 .pro 中努力——发现部分 .cpp .h 在 head+= , resource+= 中重复出现。删除重复的部分,编译成功。
完结。
——————————————————————
既然玩c c++ ,写Makefile,编译连接总要懂一些。之前看csapp时准备边用边学,现在正是时候。

你可能感兴趣的:(C++/c)