【发布时间】:2011-10-16 12:45:15
【问题描述】:
在我的项目的配置属性中,在“VC++ 目录”下有一个“包含目录”条目。但是在“C/C++”选项下,还有另一个条目叫做“Additional Include Directories”。库目录也会发生同样的事情。
这两个条目有什么区别?
【问题讨论】:
标签: c++ visual-studio-2010 visual-studio compilation
在我的项目的配置属性中,在“VC++ 目录”下有一个“包含目录”条目。但是在“C/C++”选项下,还有另一个条目叫做“Additional Include Directories”。库目录也会发生同样的事情。
这两个条目有什么区别?
【问题讨论】:
标签: c++ visual-studio-2010 visual-studio compilation
What is the difference between #include <filename> and #include "filename"?
“包括目录”-> #include <header>
“其他包含目录”-> #include "header"
【讨论】:
这是在 VS2010 中引入的尴尬。 VC++ 目录设置过去位于工具 + 选项、项目和解决方案、VC++ 目录中。应用于机器上构建的每个项目的全局设置。它仍然存在,但指出您现在应该在项目设置中更改它。 VS2010 中构建引擎大修的副作用,支持使用 msbuild 进行构建。删除每个项目的设置是合乎逻辑的,但这会破坏太多现有项目。
因此,最好将 VC++ 目录设置视为机器默认设置。它由 VS 安装程序自动预设。仅当您需要不寻常的目录搜索顺序时才对其进行修补,将自定义位置放在最后。这样做非常不寻常。
但它确实有效。它最终确实被利用了。在 VS2012 及更高版本中增强平台工具集设置。不同的编译器,不同的链接器,不同的#include 目录,不同的链接器搜索路径。只修改了一个设置,很好。
【讨论】:
Microsoft.Cpp.Win32.user,只有这个。如果在项目处于活动状态或另一个属性表时编辑“VC++ 目录”条目,则更改将保留在 .vcxprojfile 或相应的 .props 文件中,并且根本不是全局或用户范围的.
INCLUDE Windows 环境变量,该环境变量在 Visual Studio 之外定义
INCLUDE 和 LIB 环境变量是在 Microsoft Windows SDK 与 Visual Studio 一起安装时创建的。使用包含目录或附加包含目录的决定将取决于您组织的开发过程。在我看来,更重要的是:
#define 指令混淆)从不同来源继承内容。宏之类的...
$(Include) 从 Windows 环境变量中继承它们的值$(OutDir) 从 Visual Studio IDE【讨论】:
Include Directories对应环境变量INCLUDE。
窗口中显示的目录设置是 Visual Studio 将搜索源中引用的包含文件 代码文件。对应环境变量 INCLUDE。
虽然Additional Include Directories 是通过命令行参数传递的(即\I 选项)。
【讨论】: