尝试编译一个简单的hello world c ++程序时遇到问题。
#include <iostream>
int main()
{
std::cout << "hello world" << std::endl;
return 0;
}
其中的错误是:
无法打开源文件“errno.h”
使用控制台(c:\> dir errno.h /s
)进行快速搜索显示该文件位于多个目录中:
C:\ LegacyApp \ VisualStudio2013 \ VC \ CRT \ SRC
C:\ LegacyApp \ VisualStudio2013 \ VC \包括
C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ VC \ crt \ src
C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ VC \ include
C:\ Program Files(x86)\ Windows Kits \ 10 \ Include \ 10.0.10150.0 \ ucrt
我的项目默认属性包含以下宏:
$(VC_IncludePath);$(WindowsSDK_IncludePath);
这解决了:
C:\ LegacyApp \ VisualStudio2015 \ VC \包括
C:\ LegacyApp \ VisualStudio2015 \ VC \ atlmfc \包括
C:\ Program Files(x86)\ Windows Kits \ 10 \ Include \ 10.0.10240.0 \ ucrt
C:\ Program Files(x86)\ Windows Kits \ 8.1 \ Include \ um
C:\ Program Files(x86)\ Windows Kits \ 8.1 \ Include \ shared
C:\ Program Files(x86)\ Windows Kits \ 8.1 \ Include \ winrt
我的系统上不存在C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt
文件夹。
似乎我想将版本10.0.10240.0
切换为10.0.10150.0
如何编辑宏VC_IncludePath
的默认值?
这里有更明智的行动吗?
答案 0 :(得分:7)
在您的计算机上似乎已破坏Windows 10 SDK版本10.0.10240.0
的安装。您可以重新安装它或使用计算机上安装的其他版本。
如果正确安装了Windows 10 SDK版本10.0.10150.0
,您应该能够在VC ++项目中使用它。为此,请将项目配置的General
页面上的Target Platform Version
更改为10.0.10150.0
。该值应该是下拉列表中的其他值。
否则重新安装Windows 10 SDK并使用最近安装的版本。
答案 1 :(得分:5)
Look at Working with Project Properties, particularly the section Property Pages.
There is a similar SO question, How do I modify Visual Studio 2015 predefined macros?, with an answer that says modify the file
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Common.props
but I would first try using the intended properties from the first link.