c++ 为什么我在将头文件导入到visual的左侧的头文件 文件夹中,还是需要在项目属性中设置导入头文件的绝对路径

c++ 为什么我在将头文件导入到visual的左侧的头文件 文件夹中,还是需要在项目属性中设置导入头文件的绝对路径

问题描述:

img

为什么导入头文件以后 不能直接#include "Sales_data.h" 引用呢,还要去项目属性里设置绝对路径

你这里#include只是指定文件名称,并没有指定文件路径啊,所以编译器找不到这个文件,总不能在硬盘里全部搜索吧,效率太低,所以需要你指定路径

指定路径有两种方式,一是在你说的包含目录中指定头文件所在的路径,这样编译器就可以从指定的路径中搜索,效率提高;另外一种就是你在#include的时候指定完整的路径名称,或者相对于项目工程路径的相对路径名,都是可以的。

主要是方便编译器找到且快速找到你要包含的文件在哪里

这是用法习惯。和java一样阿。要引入包。不然谁知道你这个类产生在哪个文件夹的文件里。

直接引用的话,编译器不知道从哪个位置引入,编译器没有做这个处理,而是让程序员制定引用的路径,这样的好处是当有多个版本的.h时,通过更换路径就可以切换。麻烦的地方就是路径需要重新配置一遍。