在visual c++中为什么将 *.h 文件添加到Solution Explorer 中的Header Files中没有用呢?
发布网友
发布时间:2022-05-14 14:02
我来回答
共2个回答
热心网友
时间:2023-10-19 20:11
Solution Explorer中的Header Files只是便于你直观的了解项目的构成,令外,它会告诉编译器哪些文件需要编译和额外的处理,如果要包含这个头文件,那么这个文件要么在缺省的搜索目录内,要么就要写相对或绝对路径,如 "..\inc\aa.h" 或 "d:\aa\bb\cc.h"
按你的想法,如果两个目录下都有这个"genlib.h",而且都添加到了Solution Explorer,那你要包含哪个"genlib.h"呢,编译器岂不是搞不明白了么,所以要写全路径
热心网友
时间:2023-10-19 20:11
解决方案浏览器中的的头文件列表其实主要起到解析的作用
因为vc有代码智能提示的功能即Intellisence,将头文件引入之后,IDE就知道一个类型包含什么成员,当进行智能提示时就知道显示什么了
加不加到头文件列表对编译C++程序没什么大的影响,有时如果添加错误,还可能引起重定义错误
你的头文件genlib.h可能没有在项目的目录中,所以编译器搜索不到,故提示错误,因为编译器除了搜索项目目录之外,就去搜索vc本身的默认Include目录,和系统环境变量path中的目录,而不会有其他的
只要将genlib.h头文件复制到项目目录,就不会出现找不到头文件的错误,和是否添加到头文件列表无关