问题描述:
1.在 一个.h(甲)文件中直接包含了.cpp(乙)文件
2.在.cpp(乙)文件修改了一些内容,然后编译项目。
3.运行后修改的部分没有效果。
4.但是修改其他.cpp(丙)文件,编译项目是可以看到效果的。
原因查找:
1.项目编译的时候会把所有.cpp文件编译一遍,生成.obj
2.一般做法,我们在.h(甲)中中包含另一个.h(乙)文件,这样其他.cpp(乙)修改后,甲在链接乙会反应乙效果。但是我们直接包含.cpp(乙)的话,这个cpp(乙)被正常编译,但是.cpp(甲)没有重新编译,也就是说他链接的是之前的乙的cpp编译的效果。这样导致出现我现在这个问题。
解决办法:
1.甲(cpp文件)不要包含到项目中。
2.将甲的属性修改:从生成中去除
今天遇到的这个坑,深深感慨自己基础的薄弱,明眼人很快看出来,汗啊~ 继续加油。