visual studio 2022 头文件和库目录问题造成的编译失败

博客讲述了在使用Visual Studio 2022时遇到编译错误,无法找到new.h头文件的问题。问题源于VS2022 SDK路径与VS2019的不同。提供了三种解决方案:修改Microsoft.Cpp.WindowsSDK.props文件中的注册表值,手动创建缺失的SDK目录并复制文件,或直接在项目配置中添加现有SDK目录。

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

新安装visual studio 2022后,在一个简单工程上编译测试中,遇到标准头文件(new.h)报错,详情如下:

已启动生成…
1>------ 已启动生成: 项目: MFCApplication1, 配置: Debug x64 ------
1>pch.cpp
1>D:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.31.31103\atlmfc\include\afx.h(62,11): 
fatal error C1083: 无法打开包括文件: “new.h”: No such file or directory
1>已完成生成项目“MFCApplication1.vcxproj”的操作 - 失败。

经验证和对比visual studio 2019,发现visual studio 2022以下sdk路径有一个明显差异。详情如下所示。

visual studio 2019 安装后的默认路径如下

而 visual studio 2022路径如下

库目录也一样不同,visual studio 2019如下所示

 而visual studio 2022如下所示。

在电脑上查看,visual studio 2022中所描述的目录实际并不存在。真正存在的目录和visual studio 2019相同。要解决编译错误,可以有以下的解决办法。

第一种方法(推荐

vs2022的安装路径

C:\Program Files\Microsoft Visual Studio\2022\Community\Msbuild\Microsoft\VC\v170\

有一个 Microsoft.Cpp.WindowsSDK.props 文件,其中描述了 KitsRoot10 注册表项。

参考下面所描述,可将visual studio 2022中的描述项修改为和visual studio 2019相同。

Microsoft.Cpp.WindowsSDK.props 其中这两行描述了sdk的注册表值

<UniversalCRTSdkDir_10 Condition="'$(UniversalCRTSdkDir_10)' == ''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows Kits\Installed Roots@KitsRoot10)</UniversalCRTSdkDir_10>
<UniversalCRTSdkDir_10 Condition="'$(UniversalCRTSdkDir_10)' == ''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Kits\Installed Roots@KitsRoot10)</UniversalCRTSdkDir_10>

通过注册表 命令regedit 进入下面界面,修改KitsRoot10属性值为如图所示。然后重启VS2022既可。

第二种方法

按visual studio 2022所描述的路径,手动创建好对应两个目录

C:\Program Files\Windows Kits\10\Include\10.0.19041.0\ucrt

C:\Program Files\Windows Kits\10\lib\10.0.19041.0\ucrt\x64

然后将

C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt

C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\ucrt\x64

对应全部文件复制过去

第三种方法

分别将实际存在的两个目录加载到项目配置中;

C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt

C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\ucrt\x64

如图所示

希望这几个方法对读者有帮助。

### DeepSeek 本地部署完成后使用方法 #### 浏览器入口 对于希望快速上手并测试模型功能的用户而言,最便捷的方式是通过网页版进行操作。只需打开浏览器,在地址栏中输入指定网址(例如官方提供的 www.deepseek.com 或者本地服务器对应的 IP 地址及端口号),即可进入应用界面[^1]。 #### Python 脚本调用 针对开发者或有编程基础的技术人员来说,则可以利用 Python 编写脚本来实现更复杂的功能需求。下面给出一段简单的代码片段用于展示如何连接到本地运行的服务: ```python import openai openai.api_key = "your_api_key" openai.base_url = "http://localhost:8000/v1" response = openai.ChatCompletion.create( model="deepseek-chat", messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Tell me about the weather today"}, {"role": "assistant", "content": ""} ] ) print(response.choices[0].message.content.strip()) ``` 这段程序首先设置了 API 的密钥以及请求的基础 URL;接着定义了一个对话列表作为消息参数传递给 `ChatCompletion` 方法来获取回复内容;最后打印出了由模型生成的回答文字[^4]。 #### GUI 工具交互 除了上述两种方式外,《小白也能看懂的DeepSeek-R1本地部署指南》还提到可以通过特定的应用程序如 Cherry Studio Chatbox 实现图形化界面下的交流体验。这类工具通常提供了更加直观易用的操作环境,适合那些不熟悉命令行指令或是偏好可视化流程管理的人群[^3]。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值