包含path如何在Visual Studio中工作?

Visual Studio使我疯狂,我怀疑我做错了什么。

这是我做的:很久以前我安装了Visual Studio(Pro '08),我安装了Windows SDK(Win 7 x64),有人给我发邮件给一个项目,但是没有生成。

总是找不到windows.h。 虽然在每个项目的项目设置中都包含C:\Program Files\Microsoft SDKs\Windows\v7.0\Include是很容易的,但我觉得这可能不是正确的方法。 有没有办法让Visual Studio全球知道这些文件?
我也试图把上面的目录包含在pathvariables中,但是没有改变任何东西。

此外,它会随机findwindows.h,但不是winresrc.h在同一目录中。

编辑:
这是我的机器的问题。 不知何故,Visual Studio认为我的Windows SDK是在错误的地方。 查看接受的答案和解决scheme的意见。

您可以在这里设置Visual Studio的全局包含path:

Tools / Options / Projects and Solutions / VC++ Directories / Include files

更新(在Visual Studio 2015中): 在这里输入图像描述

@RichieHindle解决scheme从Visual Studio 2012开始已被弃用。现在VS工作室提示符指出:

VC ++目录现在作为默认添加到所有项目的用户属性表提供。

要设置包含path,您现在必须右键单击一个项目并转到:

 Properties/VC++ Directories/General/Include Directories 

截图: 在这里输入图像描述

要恢复VisualStudio 2013和2015中的工作解决scheme:

仅向当前项目添加包含path

解决scheme资源pipe理器 (VisualStudio-mainwindow的调色板窗口)中,打开项目的快捷菜单并select属性,然后在属性页对话框的左窗格中,展开configuration属性并selectVC ++目录。 其他include或libpath可以在那里指定。

它是什么Stackunderflowuser1741137在上面的答案中说。 它也是微软在MSDN中解释的。

为每个新项目自动添加一个包含path

它的问题, 杰伊·埃尔斯顿Jay Elston )在上面的评论中提出了什么问题,在我眼中是什么是一个非常明显而灼热的问题,这里似乎还没有答案。

在VisualStudio(见CurlyBrace.com )中有常规的方法可以做到这一点 ,我的经验是不正常的。 从某种意义上说,它只能使用一次,之后就不再可扩展,可以移除。 Steve Wilkinson在另一个与StackOverflow紧密相关的线程中,在“程序文件”目录中编辑Microsoft-Factory-XML文件的做法可能是一个冒险的黑客攻击,因为微软并不期望在那里遇到一些异类。 效果是有效的不可预测的。 好吧,我宁愿判断风险不大,但无论如何,使VisualStudio的工作至less对别人来说是不可理解的最好方法。

什么工作比较好,是编辑相应的User-XML文件:

C:\ Users \用户名\ AppData \本地\微软\的MSBuild \ V4.0 \ Microsoft.Cpp.Win32.user.props

和/或

C:\ Users \用户名\ AppData \本地\微软\的MSBuild \ V4.0 \ Microsoft.Cpp.x64.user.props

例如:

 <?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ImportGroup Label="PropertySheets"> </ImportGroup> <PropertyGroup Label="UserMacros" /> <PropertyGroup> <IncludePath>C:\any-name\include;$(IncludePath)</IncludePath> <LibraryPath>C:\any-name\lib;$(LibraryPath)</LibraryPath> </PropertyGroup> <ItemDefinitionGroup /> <ItemGroup /> </Project> 

目录'C:\ any-name \ include'将被预置到目前的includepath和目录'C:\ any-name \ lib'到库path中。 在这里,我们可以在扩展和删除的意义上编辑它,并将其全部删除,从而移除标签的整个内容。

它是什么使得VisualStudio本身能够以CurlyBrace描述的常规方式进行的。 如前所述,它不是在CurlyBrace方式之后可以编辑,而是以XML编辑方式。

想了解更多的信息,请参阅Brian Tyler @ MSDN-Blog 2009,但是我们不是很清楚,但始终是微软链接到的东西。

如果您只是尝试更改项目的包含path而不是所有解决scheme,请在Visual Studio 2008中执行以下操作:右键单击Solution Navigator中的项目名称。 从popup菜单中select属性。 在属性页面对话框中selectConfiguration Properties-> C / C ++ / General。 点击“附加包含文件”标签旁边的文本框,浏览相应的目录。 select确定。

令我恼火的是,对原始问题的一些答案不适用于所提到的Visual Studio版本。

要成功使用Windows SDK,您不仅需要为项目提供包含文件,还需要包含库文件和可执行文件(工具)。 要设置所有这些目录,你应该使用WinSDKconfiguration工具 。

您需要确保并具有以下内容:

 #include <windows.h> 

而不是这个:

 #include "windows.h" 

如果这不是问题,那么请检查RichieHindle的回应 。