在我的项目的配置属性中,在“ VC + + 目录”下有一个“包含目录”的条目。但在“ C/C + +”选项下,还有一个名为“附加包含目录”的条目。图书馆目录也是如此。
这两个条目有什么区别?
The 包括目录 corresponds to the environment variable INCLUDE.
INCLUDE
窗口中显示的目录设置是 Visual Studio will search for include files referred to in your source 代码文件。对应于环境变量 INCLUDE。
而通过命令行参数(即 \I选项)传递 附加包含目录。
\I
这就是 VS2010引入的尴尬之处。VC + + 目录设置通常位于工具 + 选项、项目和解决方案、 VC + + 目录中。应用于在计算机上生成的每个项目的全局设置。它仍然存在,但是指出您现在应该在项目设置中更改它。在 VS2010中构建引擎大修的副作用,使得构建具有 msbuild。删除每个项目的设置是合乎逻辑的,但这会破坏太多现有的项目。
因此,最好将 VC + + 目录设置作为机器默认值。它是由 VS 安装程序自动预设的。只有在你需要一个不寻常的目录搜索顺序的时候才修改它,把自定义位置放在最后。这样做很不寻常。
不过确实管用。最终还是被利用了。增强 VS2012及以上版本的平台工具集设置。不同的编译器,不同的链接器,不同的 # include 目录,不同的链接器搜索路径。只用了一个设置就改进了,不错。
LIB
使用 包括目录或 附加包含目录的决定将取决于您的组织的开发过程。在我看来,更重要的是:
#define
$(Include)
$(OutDir)
# include < filename > 和 # include“ filename”有什么区别?
“包括目录”-> #include <header>
#include <header>
“附加目录”-> #include "header"
#include "header"