电脑故障问答网

 找回密码
 立即注册
查看: 132|回复: 2

vscode 头文件报错:找不到头文件

[复制链接]

2

主题

6

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2022-9-20 16:13:20 | 显示全部楼层 |阅读模式
该报错分为两种:A 编译器报错 B IntelliSense(vscode自己的检查系统)

先讲A,本人用的是GNU的C++编译器(执行文件是g++.exe),次要环境是windows10 64位系统,intel x86-64架构的cpu(GNU其他版本的编译器有无区别暂时未知,但考虑到文档是同一份应该不会有大的区别)

编译器自然情况下只会检查两个路径----
1. c++源文件所在文件夹路径,且不递归查找,如下图:



头文件file.hh和源文件file.cc在同一目录下,程序返回0成功运行。



头文件在file文档的子目录head中,g++初始状态下不递归查找,显示错误,返回-1

2. 编译器指定头文件位置
命令行输入cpp -v 可以查看其目录,如图



GNU的标准库提供的所有模板(template)即stl ,都在其中

将file.hh移入其中一个路径,源文件编译成功。



将file.hh移入



返回0

PS 需要注意的是,编译器查找该路径时,也不会自发地递归查找。

B IntelliSense
启用后它会检查一些代码错误,其中包括预编译时头文件的搜索,编辑它的搜索路径:
这里简单描述过程,在vscode的前台运行时键入快捷键control+shift+p,选择C/C++编辑配置(json文件或UI都可),找到IncludePath,添加需要检查的头文件目录即可。


关于IntelliSense微软官方文档非常清晰,快捷链接以见文末。

结:如果想为编译器添加自己的头文件路径有两种方式: A 每次都单独使用命令行编译:在指令中添加相关参数 B 一劳永逸:写个脚本 上述方法优秀教程众多,请视情况自行google或百度。

作者本身也是小白,遇到上述问题后翻看文档方才总结出上文。才疏学浅,如有错误、疑问、求助,欢迎评论区提出。
快捷链接:
GNU文档:https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc.pdf
vscode文档:c_cpp_properties.json reference
回复

使用道具 举报

1

主题

3

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2025-2-16 07:58:03 | 显示全部楼层
好,很好,非常好!
回复

使用道具 举报

0

主题

6

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 7 天前 | 显示全部楼层
LZ帖子不给力,勉强给回复下吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

云顶设计嘉兴有限公司模板设计.

免责声明:本站上数据均为演示站数据,如购买模板可以上DISCUZ应用中心购买,欢迎惠顾.

云顶官方站点:云顶设计 模板原创设计:云顶模板   Powered by Discuz! X3.4© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表