如何在Visual Studio中包含路径?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Visual Studio中包含路径?相关的知识,希望对你有一定的参考价值。
Visual Studio让我发疯,我怀疑自己做错了什么。
这就是我所做的:我很久以前安装了Visual Studio(Pro '08),我安装了Windows SDK(Win 7 x64),有人通过电子邮件发送给我一个项目,但无法构建。
总是,它找不到windows.h。虽然在每个项目的项目设置中包含C:Program FilesMicrosoft SDKsWindowsv7.0Include
很容易,但我觉得这可能不是正确的方法。有没有办法以某种方式使Visual Studio全局识别这些文件?
我也尝试在path
变量中包含上面的目录,但这并没有改变任何东西。
此外,它将在同一目录中随机查找windows.h但不能找到winresrc.h。
编辑: 我的机器出了问题。不知何故,Visual Studio认为我的Windows SDK出错了。请参阅已接受的答案和修复评论。
此答案仅适用于Visual Studio的古老版本 - 请参阅现代版本的最新答案。
您可以在此处设置Visual Studio全局包含路径:
Tools
/ Options
/ Projects and Solutions
/ VC++ Directories
/ Include files
自Visual Studio 2012起,@ RichieHindle解决方案现已弃用。由于VS工作室提示现在声明:
VC ++目录现在可用作用户属性表,默认情况下添加到所有项目。
要设置包含路径,您现在必须右键单击项目并转到:
Properties/VC++ Directories/General/Include Directories
要在Visual Studio 2013和2015中恢复工作解决方案:
仅将include路径添加到当前项目
在Solution Explorer(VisualStudio主窗口的调色板窗口)中,打开项目的快捷菜单,选择Properties,然后在Property Pages对话框的左窗格中,展开Configuration Properties并选择VC ++ Directories。可以在那里指定其他包含或lib路径。
它是Stackunderflow和user1741137在上面的答案中所说的。它也是微软在MSDN中解释的内容。
自动为每个新项目添加包含路径
问题是,杰伊·埃尔斯顿在上面的评论中提到了什么,在我看来这是一个非常明显和亟待解决的问题,这里似乎还没有回答。
在VisualStudio中存在常规方法(参见CurlyBrace.com),根据我的经验,这些方法无法正常工作。从某种意义上说,它只运行一次,之后,它不再可扩展,并且可以移除。 Steve Wilkinson在StackOverflow的另一个密切相关的线程中的方法,编辑“程序文件”目录中的Microsoft-Factory-XML文件可能是一个冒险的黑客,因为微软不希望在那里遇到一些外国的东西。效果是无法预测的。好吧,我宁愿判断风险不大,但无论如何,使VisualStudio工作的最佳方法至少对其他人来说难以理解。
与之相比,工作正常的是编辑相应的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-nameinclude;$(IncludePath)</IncludePath>
<LibraryPath>C:any-namelib;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup />
<ItemGroup />
</Project>
目录'C: any-name include'将被添加到当前的include-path和目录'C: any-name lib'到库路径。在这里,我们可以在扩展和删除意义上编辑它并删除所有内容,删除标记的整个内容。
它是VisualStudio本身的原因,它以CurlyBrace描述的常规方式进行。如上所述,它不是以CurlyBrace方式编辑的,而是以XML编辑的方式。
有关更深入的见解,请参阅Brian Tyler@MSDN-Blog 2009,这不是很新鲜,但始终是Microsoft链接的内容。
要成功使用Windows SDK,您不仅需要为项目提供包含文件,还需要库文件和可执行文件(工具)。要设置所有这些目录,您应该使用WinSDK Configuration Tool。
如果您只是尝试更改项目的包含路径而不是所有解决方案,那么在Visual Studio 2008中执行此操作:在解决方案导航器中右键单击项目的名称。从弹出菜单中选择“属性”。在属性页对话框中,选择Configuration Properties-> C / C ++ / General。单击“其他包含文件”标签旁边的文本框,然后浏览相应的目录。选择确定。
令我恼火的是,原始问题的一些答案不适用于所提到的Visual Studio版本。
您需要确保并拥有以下内容:
#include <windows.h>
而不是这个:
#include "windows.h"
如果这不是问题,那么检查RichieHindle's response。
以上是关于如何在Visual Studio中包含路径?的主要内容,如果未能解决你的问题,请参考以下文章
在 Visual Studio Express 2012 中包含路径
如何在 Visual Studio C++ 的 dll 项目中包含一个库
如何在 Visual Studio 的发布配置文件中包含动态生成的文件