VS2015在VC_IncludePath

时间:2016-10-20 13:44:33

标签: c++ visual-studio-2015 universal-crt

尝试编译一个简单的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的默认值?

这里有更明智的行动吗?

2 个答案:

答案 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.