在我的项目的配置属性中,在“VC ++目录”下有一个“包含目录”条目。但在“C / C ++”选项下,还有另一个名为“Additional Include Directories”的条目。库目录也会发生同样的事情。
这两个条目有什么区别?
答案 0 :(得分:40)
这是在VS2010中引入的尴尬。 VC ++目录设置曾经位于工具+选项,项目和解决方案,VC ++目录中。应用于在计算机上构建的每个项目的全局设置。它仍然存在,但指出您现在应该在项目设置中更改它。 VS2010中构建引擎大修的副作用,可以使用msbuild进行构建。删除每个项目的设置是合乎逻辑的,但这会破坏太多的现有项目。
因此,最好将VC ++目录设置视为计算机默认设置。它由VS安装程序自动预设。只有当您需要一个不寻常的目录搜索顺序时,才能修改它,将自定义位置放在最后。这样做非常不寻常。
但确实有效。它确实最终被利用了。在VS2012及更高版本中增强平台工具集设置的能力。不同的编译器,不同的链接器,不同的#include目录,不同的链接器搜索路径。仅使用一个设置进行修改,很好。
答案 1 :(得分:19)
Include Directories对应于环境变量INCLUDE
。
窗口中显示的目录设置是其中的目录 Visual Studio将搜索源中引用的包含文件 代码文件。对应于环境变量INCLUDE。
Additional Include Directories通过命令行参数(即\I
选项)传递。
答案 2 :(得分:13)
INCLUDE
Windows 环境变量
INCLUDE
和LIB
个环境变量。使用包含目录或其他包含目录的决定取决于您组织的开发过程。在我看来,更重要的是:
#define
指令混淆)继承来自不同来源的内容。宏像......
$(Include)
从 Windows 环境变量$(OutDir)
从 Visual Studio IDE