visual studio 2022提示找至少stdio.h ctypes.h标准库文件
阅读数:88 评论数:0
跳转到新版页面分类
应用软件
正文
一、问题
Windows 10 64位系统,装有Visual Studio 2022,某一天跑一个c++工程的时候,提示找不到"stdio.h", "ctypes.h" 等标准库的头文件。
二、解决方法
我的情况是,通过上网查找,试验,发现是windows sdk路径导致的。
vs2022 安装路径下,一堆props文件中,有一个“Microsoft.Cpp.WindowsSDK.props”文件,
默认路径在
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\v170
其中有两行指向了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>
<WindowsSdkDir_81 Condition="'$(WindowsSdkDir_81)' == ''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.1@InstallationFolder)</WindowsSdkDir_81>
<WindowsSdkDir_81 Condition="'$(WindowsSdkDir_81)' == ''">$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v8.1@InstallationFolder)</WindowsSdkDir_81>
分别是SDK 10 和 SDK 8.1 对应的注册表路径。
到注册表中,找到对应的键值,修改为正确的路径。
在我电脑上,KitsRoot10 所指向的路径,是"C:\Program Files\Windows Kits 10\",