代码之家  ›  专栏  ›  技术社区  ›  bastibe

如何在Visual Studio中包含路径?

  •  43
  • bastibe  · 技术社区  · 14 年前

    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 变量,但这并没有改变任何东西。

    另外,它会随机地在同一个目录中找到windows.h,而不是winresrc.h。

    编辑:
    我的机器出了问题。不知怎么的,Visual Studio认为我的Windows SDK位置不对。有关修复,请参阅接受的答案和注释。

    6 回复  |  直到 8 年前
        1
  •  22
  •   Mona Jalal    8 年前

    您可以在此处设置Visual Studio的全局包含路径:

    tools / options / projects and solutions / vc++directories / include files

    更新(在Visual Studio 2015中):

    VC++ Directories / Include files

    更新(在Visual Studio 2015中): enter image description here

        2
  •  58
  •   Mona Jalal    8 年前

    @Richiehindle解决方案现在已从Visual Studio 2012开始被弃用。如vs studio提示所述:

    < Buff行情>

    VC++目录现在作为用户属性表提供,默认情况下,该属性表添加到所有项目中。

    < /块引用>

    要设置包含路径,现在必须右键单击项目并转到:

    属性/vc++目录/general/include目录
    < /代码> 
    
    

    屏幕截图:

    现在可以作为默认添加到所有项目的用户属性表使用。

    要设置包含路径,现在必须右键单击项目并转到:

    Properties/VC++ Directories/General/Include Directories
    

    截图: enter image description here

        3
  •  23
  •   Community CDub    7 年前

    要恢复VisualStudio 2013和2015中的工作解决方案,请执行以下操作:

    仅向当前项目添加包含路径

    解决方案管理器 (VisualStudio主窗口的调色板窗口),打开该项目的快捷菜单并选择“属性”,然后在“属性页”对话框的左窗格中展开“配置属性”,然后选择“VC++目录”。 附加的include或lib路径可以在那里指定。

    它是什么 堆栈底流 用户1741137 在上面的答案中说。 这就是微软解释的 MSDN 也是。

    自动为每个新项目添加包含路径

    问题是,什么? 杰伊埃尔斯顿 在上面的一个评论中问,在我的眼中,什么是一个非常明显和激烈的问题,什么似乎还没有被回答。

    在VisualStudio中有常规的方法可以做到这一点(请参见 CurlyBrace.com )根据我的经验,工作不正常。从某种意义上说,它只工作一次,之后就不再是可扩展的,也不再是可移动的了。 途径 Steve Wilkinson 在StackOverflow的另一个密切相关的线程中,在__Program Files_-目录中编辑Microsoft Factory XML文件可能是一种危险的黑客行为,因为Microsoft预计不会遇到这种情况。这种影响可能是不可预测的。嗯,我更喜欢判断它的风险不大,但无论如何,最好的方法,使VisualStudio的工作不可理解,至少对其他人。

    与之相比,编辑相应的用户XML文件工作得很好:

    C:\users\username\appdata\local\microsoft\msbuild\v4.0\microsoft.cpp.win32.user.props

    或/和

    C:\users\username\appdata\local\microsoft\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__将被预先设置为当前包含路径,目录_c:\any name\lib_在这里,我们可以从扩展和删除的角度对它进行编辑,然后全部删除,删除标签的全部内容。

    它是使VisualStudio本身的原因,以常规方式执行它 楔形支撑 描写。如前所述,在 CurlyBrace方式 之后就不再需要了,但以XML编辑的方式。

    有关更多信息,请参阅 Brian Tyler@MSDN-Blog 诚然,2009年的情况并不新鲜,但始终是微软所链接的。

        4
  •  2
  •   Piotr Dobrogost    14 年前

    要成功使用Windows SDK,您不仅需要使包含文件对项目可用,还需要使库文件和可执行文件(工具)可用。 要设置所有这些目录,您应该使用 WinSDK Configuration Tool .

        5
  •  2
  •   user1741137 Leiyi.China    10 年前

    如果只尝试更改项目的包含路径,而不是所有解决方案的包含路径 然后在Visual Studio 2008中执行以下操作: 右键单击解决方案导航器中的项目名称。从弹出菜单中选择属性。在“属性页”对话框中选择“配置属性”-gt;C/c++/通用。在“附加包含文件”标签旁边的文本框中单击,然后浏览相应的目录。选择OK。

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

        6
  •  -4
  •   Community CDub    7 年前

    您需要确保并具备以下条件:

    #include <windows.h>
    

    而不是这样:

    #include "windows.h"
    

    如果这不是问题,那么检查一下 RichieHindle's response .