这个错误分为两种: A 编译器错误 B(系统自带检查)
我们先来说A。 我正在使用GNU的C++编译器(可执行文件是g++.exe)。 次要环境是64位系统,Intel x86-64架构CPU(目前尚不清楚其他版本的GNU编译器是否有差异。但考虑到文档是一样的,应该不会有太大差异不同之处)
编译器自然只会检查两条路径----
1、c++源文件所在文件夹路径,无需递归搜索,如下图:
头文件file.hh和源文件在同一目录下,程序返回0,运行成功。
头文件位于文件的子目录head中。 在初始状态下,g++不递归搜索,显示错误,并返回-1。
2.编译器指定头文件位置
命令行输入cpp -v 查看其目录,如图
GNU标准库提供的所有(),即stl,都在里面
将file.hh移入其中一个路径,源文件编译成功。
将 file.hh 移入
返回 0
PS 需要注意的是,编译器搜索该路径时,不会自发递归搜索。
乙
启用后,它将检查一些代码错误,包括搜索预编译头文件。 编辑其搜索路径:
以下是该过程的简要描述。 前台运行时,输入快捷键+shift+p,选择C/C++编辑配置(json文件或UI均可),找到并添加需要检查的头文件目录。
微软官方文档说得很清楚,快速链接在文末。
结论:如果想给编译器添加自己的头文件路径,有两种方法: A、每次使用命令行单独编译:在指令中添加相关参数。 B. 一劳永逸:写一个脚本。 上述方法有很多优秀的教程,请根据情况自行决定。 或者百度。
笔者本人也是一个新手。 遇到上述问题后,他翻阅了文档,得出了上述结论。 如果您有任何错误、疑问或需要帮助,请随时在评论区提交。
快速链接:
GNU 文档://gcc-12.1.0/gcc.pdf
文档:.json