包含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全球知道这些文件?
我也试图把上面的目录包含在path
variables中,但是没有改变任何东西。
此外,它会随机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可以在那里指定。
它是什么Stackunderflow和user1741137在上面的答案中说。 它也是微软在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的回应 。