为了账号安全,请及时绑定邮箱和手机立即绑定

包含路径在Visual Studio中如何工作?

/ 猿问

包含路径在Visual Studio中如何工作?

RISEBY 2019-11-15 10:51:47

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放在错误的位置。请参阅可接受的答案和评论以获取此修复程序。


查看完整描述

3 回答

?
一只甜甜圈

此答案仅适用于Visual Studio的较早版本-请参阅较新版本的最新答案。


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


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


查看完整回答
反对 回复 2019-11-15
?
弑天下

从Visual Studio 2012开始不推荐使用@RichieHindle解决方案。如VS Studio提示所示:


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


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


Properties/VC++ Directories/General/Include Directories

屏幕截图:

//img4.mukewang.com/5dce12e50001d3af14960600.jpg

查看完整回答
反对 回复 2019-11-15
?
芜湖不芜

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


仅将包含路径添加到当前项目

在解决方案资源管理器(VisualStudio主窗口的调色板窗口)中,打开项目的快捷菜单并选择“属性”,然后在“属性页”对话框的左窗格中,展开“配置属性”并选择“ VC ++目录”。可以在此处指定其他include-或lib-path。


它是Stackunderflow和user1741137在上面的答案中说的。它也是微软在MSDN中解释的。


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

它的问题是,杰伊·埃尔斯顿(Jay Elston)在上面的评论中问的是什么,在我看来是一个非常明显且迫切的问题,这里似乎还没有答案。


在Visual Studio中有常规的方法可以做到这一点(请参见CurlyBrace.com),以我的经验,这些方法不能正常工作。从某种意义上说,它只工作一次,此后就不再可扩展和可移动。史蒂夫·威尔金森(Steve Wilkinson)在StackOverflow的另一个紧密相关的线程中编辑“程序文件”(program files)目录中的Microsoft-Factory-XML-file的方法可能是一个危险的黑客,因为Microsoft并不期望在那里遇到一些陌生的东西。效果可能无法预测。好吧,我宁愿判断它风险不大,但是无论如何,至少使其他人无法理解VisualStudio的最佳方法。


与之相比,可以正常工作的是编辑相应的User-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'将位于当前的include-path的前面,目录'C:\ any-name \ lib'将位于library-path的前面。在这里,我们可以扩展和删除的方式对其进行编辑,然后将其全部删除,从而删除标签的全部内容。


它是VisualStudio本身的本质,它以CurlyBrace描述的常规方式进行。如前所述,此后它不再可以在CurlyBrace方式中进行编辑,而在XML编辑方式中则可以进行编辑。


有关更多信息,请参阅 Brian Tyler @ MSDN-Blog 2009,该内容虽然不是很新鲜,但始终是Microsoft所链接的内容。


查看完整回答
反对 回复 2019-11-15
  • 3 回答
  • 0 关注
  • 67 浏览
我要回答

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信