VScode编译C++,头文件显示not found的解决方法

一直用codeblocks,想试试vscode,结果这个问题给我弄懵逼了。一开始以为是iostream这个头文件not found,后来发现第一个头文件都会这样显示,放到后面就不会了,然而,光这一个显示not found(虽然并不影响编译),就能逼死强迫症的啊~~~

言归正传,这个问题解决方法是:

文件——首选项——设置——搜索“clang.diagnostic.enable",然后把勾勾去掉就好了。这是插件C/C++ Clang Command Adapter的一个选项~~

如果一堆英文看着难受的话,安装插件Chinese (Simplified) Language Pack for Visual Studio Code就可以调成中文了。

如果还有波浪线,那就只好配置includePath了,最简单的方式是让vscode帮你完成:

首先在c_cpp_properties.json的"browse"的"path"里面添加头文件在的目录下,我直接用我的编译器的安装目录了:

然后按照VScode给的教程里说的做~~~

 

### Keil 5 中头文件 `not found` 的解决方案 当遇到 CMSIS 或其他头文件无法被识别的情况时,通常是因为编译器未能正确配置项目所需的路径或宏定义。以下是详细的解决方法: #### 配置头文件路径 如果提示缺少特定的头文件,比如 `cmsis_armcc_v6.h` 文件未到,则可能是由于编译环境迁移至 AC6 后,旧版本工程再兼容新编译器所致[^1]。 为了修正此问题,在 **Project** 菜单下选择 **Options for Target 'Target Name'**, 进入 **C/C++** 设置页面内的 **Include Paths** 字段中添加必要的包含路径。对于 STM32F4xx 系列微控制器而言,应确保已指定了正确的 CMSIS 库路径以及芯片相关的支持包路径。 另外一种方式是直接查看并确认当前项目的头文件所在的具体位置。可以通过右键点击报错的头文件名,选择 "Open Containing Folder" 来定位其物理存储地址,并据此调整 IDE 内部设置以匹配这些资源的位置[^2]。 #### 定义预处理器符号 有时即使设置了正确的路径仍然会遭遇类似的错误报告。这可能涉及到某些特定于硬件平台的条件编译指令没有得到适当处理。针对这种情况,可以在同一界面下的 Preprocessor Symbols 栏目里增加如下几个重要的宏定义来帮助解决问题: ```plaintext ARM_MATH_CM4 __FPU_PRESENT=1 __FPU_USED =1 __CC_ARM ``` 上述操作有助于告知编译工具链关于目标设备的信息,从而使得它能够正确解析依赖关系并成功链接所需的功能模块[^5]。 #### 组织源码结构 合理规划项目内部各个组件之间的相对布局同样重要。创建独立的文件夹用于存放新增加的 .h 和 .c 文件可以帮助避免潜在的混乱状况发生。有经验表明,过于复杂的嵌套层次可能导致 KEIL 编译过程中难以追踪到所有必需的外部声明,进而引发 “file not found”的警告信息[^3]。 通过以上措施应该能有效缓解乃至彻底消除大多数情况下出现的头文件缺失现象。当然,具体实施效果还需视实际情况而定;若仍存在个别顽固性的案例,则建议进一步查阅官方文档获取更详尽的技术指导和支持服务。
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值