【问题标题】:What is the difference between "Include Directories" and "Additional Include Directories"“包含目录”和“附加包含目录”有什么区别
【发布时间】:2011-10-16 12:45:15
【问题描述】:

在我的项目的配置属性中,在“VC++ 目录”下有一个“包含目录”条目。但是在“C/C++”选项下,还有另一个条目叫做“Additional Include Directories”。库目录也会发生同样的事情。

这两个条目有什么区别?

【问题讨论】:

    标签: c++ visual-studio-2010 visual-studio compilation


    【解决方案1】:

    What is the difference between #include <filename> and #include "filename"?

    “包括目录”-> #include &lt;header&gt;

    “其他包含目录”-> #include "header"

    【讨论】:

      【解决方案2】:

      这是在 VS2010 中引入的尴尬。 VC++ 目录设置过去位于工具 + 选项、项目和解决方案、VC++ 目录中。应用于机器上构建的每个项目的全局设置。它仍然存在,但指出您现在应该在项目设置中更改它。 VS2010 中构建引擎大修的副作用,支持使用 msbuild 进行构建。删除每个项目的设置是合乎逻辑的,但这会破坏太多现有项目。

      因此,最好将 VC++ 目录设置视为机器默认设置。它由 VS 安装程序自动预设。仅当您需要不寻常的目录搜索顺序时才对其进行修补,将自定义位置放在最后。这样做非常不寻常。

      但它确实有效。它最终确实被利用了。在 VS2012 及更高版本中增强平台工具集设置。不同的编译器,不同的链接器,不同的#include 目录,不同的链接器搜索路径。只修改了一个设置,很好。

      【讨论】:

      • 嗯...确实 全局选项保存在此之下 - 但这是属性表 Microsoft.Cpp.Win32.user,只有这个。如果在项目处于活动状态或另一个属性表时编辑“VC++ 目录”条目,则更改将保留在 .vcxprojfile 或相应的 .props 文件中,并且根本不是全局或用户范围的.
      【解决方案3】:

      配置包括路径

      VC++ 目录:包括目录

      • 这个值继承自INCLUDE Windows 环境变量,该环境变量在 Visual Studio 之外定义
        • 环境变量可以是:计算机的全局变量或具有用户级范围
        • INCLUDE 和 LIB 环境变量是在 Microsoft Windows SDK 与 Visual Studio 一起安装时创建的。

      C/C++:附加包含目录

      • 是项目级别的设置...您必须为解决方案中的每个项目定义此值
      • 这个值可以保存到源代码管理中

      附加说明

      我应该使用哪一个?

      使用包含目录或附加包含目录的决定将取决于您组织的开发过程。在我看来,更重要的是:

      • 您能够一致且可靠地重新创建开发环境(想想:将源代码交给其他开发人员)
      • 组织内的开发人员使用一致的方法

      关于宏的说明

      • C++ 项目配置宏(不要与 C++ 预处理器#define 指令混淆)从不同来源继承内容。宏之类的...
        • $(Include) 从 Windows 环境变量中继承它们的值
        • $(OutDir) 从 Visual Studio IDE
        • 继承它们的值

      参考文献

      【讨论】:

        【解决方案4】:

        Include Directories对应环境变量INCLUDE。

        窗口中显示的目录设置是 Visual Studio 将搜索源中引用的包含文件 代码文件。对应环境变量 INCLUDE。

        虽然Additional Include Directories 是通过命令行参数传递的(即\I 选项)。

        【讨论】:

          猜你喜欢
          • 2018-10-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-01-01
          • 2010-09-24
          • 1970-01-01
          相关资源
          最近更新 更多