一、问题引入
如果设计一个头文件,把所有函数的声明都放里面,可以编译通过,如果我为每个cpp文件都设计一个头文件,每个cpp文件中都包含 func1.h func2.h ,main.cpp中也是包含这两个头文件,为什么最后就会报错呢?
二、原因解析
疑点引入:之前我将原来存在的文件改了一个名字供新的项目使用。
原因:Make配置文件没更新,就会找之前的obj,找不到就会报上面链接错误;Make配置文件在同一个项目下不用自己写,编译器会自动生成,但是如果之前已经成功运行过一次,现在又想通过改名的方式对原来的源文件进行重新编译,但是已经生成的obj文件是基于原来的源文件名称编译的,所以会找不到现在改过名字的实现文件。
验证:新建一个项目重新打一遍试试,是可以正常跑过去的。
三、知识点推荐
①C++头文件和源文件,编译过程
(30条消息) C++头文件和源文件,编译过程_菜鸟知识搬运工的博客-CSDN博客_头文件和源文件的区别
②C++多文件配置(多个C++项目工作)