无法打开好多源文件,体现为:include下面有波浪线

当遇到E1696编译错误,表示无法打开源文件。解决方法包括调整Windows SDK版本和更新VC++目录的包含路径,具体操作涉及更改Visual Studio项目的属性设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大概样子如图,报错编号为E1696。解决方法:

1.解决资源管理器中,右键项目名-----属性-----常规-----把windows SDK版本调为10.XXXX,平台工具集改为VS2017(自己的版本,我用的是VS2017)

2.再选到VC++目录------包含目录里添加:C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0(看自己的版本)\ucrt 目录

解决!亲测可用

### 正确使用 `pch.h` 文件的方法 预编译头文件(Precompiled Header, PCH)是一种优化技术,用于加速 C++ 编译过程。通过提前编译常用的头文件集合,减少每次重新解析这些头文件的时间开销。 #### 创建和使用 `pch.h` 1. **创建 `pch.h` 和 `pch.cpp`** 预编译头通常由两个文件组成:`.h` 头文件和 `.cpp` 实现文件。以下是典型的结构: ```c++ // pch.h #ifndef PCH_H #define PCH_H // 常见的全局头文件声明 #include <iostream> #include <string> // TODO: 添加其他需要预编译的头文件 #endif // PCH_H ``` 对应的实现文件如下: ```c++ // pch.cpp #include "pch.h" // 不需要额外的内容,仅作为触发预编译的入口 ``` 2. **设置项目属性支持 PCH** 如果在 Visual Studio 中工作,则需调整项目的预编译头选项[^4]: - 打开项目属性对话框。 - 转至 **配置属性 -> C/C++ -> 预编译头**。 - 将 **生成/使用预编译头** 设置为 **使用 (/Yu)** 并指定 `pch.h` 作为目标。 - 同时确保有一个单独的源文件(如 `pch.cpp`),其对应的预编译头选项设为 **生成 (/Yc)**。 3. **常见问题及其解决方案** - **忘记包含 `#include "pch.h"` 导致编译失败** 若未显式引入该头文件而尝试访问其中定义的功能或类型,可能会引发链接器错误或其他异常行为。例如,如果缺少 UIKit 的基础声明可能导致 `NSObject` 类型丢失的情况[^2]。解决办法是在所有依赖于预编译功能的源文件顶部加入此指令。 - **移除 `#include "pch.h"` 报错** 删除前确认已禁用对应模块中的预编译头机制;否则即使物理上消除了引用语句仍会因后台残留设定保留对其需求从而继续抛出警告或终止构建流程。具体操作参阅前述关于修改 VS 属性部分说明。 - **路径不匹配引起波浪线下划线提示但实际运行无碍** 当自定义类别存放在外部目录而非默认位置时可能出现视觉干扰现象尽管最终产物不受影响依旧建议维持原始相对地址不变以免造成混淆并便于维护管理[^3]。 #### 示例代码片段展示正常集成方式 下面给出一段简单的例子来演示如何在一个新建立的标准控制台应用程序里有效运用上述理论知识点完成基本输入输出任务的同时充分利用好我们的预先准备好的资源库组件优势所在之处体现出来吧! ```cpp // main.cpp #include "pch.h" int main() { std::cout << "Hello Precompiled Headers!" << std::endl; return 0; } ``` --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值