C++ 什么是VC++&引用;排除目录“;项目设置实际上是什么?

C++ 什么是VC++&引用;排除目录“;项目设置实际上是什么?,c++,visual-c++,project,visual-studio-2015,projects-and-solutions,C++,Visual C++,Project,Visual Studio 2015,Projects And Solutions,我正在尝试使用新的VS2015。当我启动它时,它会弹出一条消息说: 要改进建议,请将第三方库路径添加到 VC++目录下的“排除目录”属性(在项目中 属性对话框) 如果我在这里列出一个目录,我不清楚它到底被排除在什么目录之外。关于这一点,专家们只能说: 检查生成依赖项时不搜索的目录 这有点帮助,但我仍然不能完全确定如果我在这里列出一些东西,我会获得/失去哪些功能。比如说,boost(来自pch工具的消息似乎暗示了这一点)。有人能确切地说出此设置的作用吗?一般的想法是,每次点击“构建”时,IDE(或

我正在尝试使用新的VS2015。当我启动它时,它会弹出一条消息说:

要改进建议,请将第三方库路径添加到 VC++目录下的“排除目录”属性(在项目中 属性对话框)

如果我在这里列出一个目录,我不清楚它到底被排除在什么目录之外。关于这一点,专家们只能说:

检查生成依赖项时不搜索的目录


这有点帮助,但我仍然不能完全确定如果我在这里列出一些东西,我会获得/失去哪些功能。比如说,boost(来自pch工具的消息似乎暗示了这一点)。有人能确切地说出此设置的作用吗?

一般的想法是,每次点击“构建”时,IDE(或者更具体地说是msbuild)都必须检查所有依赖项,以查看需要重建哪些cpp文件。如果您有一个大型项目和许多标题(boost是一个很好的例子),那么这可能需要检查数千个标题(因为每个标题还需要检查其依赖关系)

如果您有一个第三方库,比如boost,它很少更新,那么您可以将路径添加到排除框中,这样依赖项检查器就不会检查这些库中的任何一个了但是,如果您确实在某个时候更新了库,或者对库做了一些小的更改,那么您将不得不手动重新生成依赖它的所有项目,因为您已经告诉生成系统不要为您这样做


在实践中,我从未发现这是一个问题,即使有几个MLOC项目和一个boost安装,尤其是当您使用SSD构建时。如果您使用的是较旧的硬件,那么它可能值得使用,但我认为当您不可避免地忘记重建依赖项目时,它可能会导致问题。

如果您将Boost安装保存在编号目录中(例如
C:\Boost\Boost\u 1\u 55\u 0
),并通过项目目录中的
Boost.props
文件引用它,然后更新Boost只会创建第二个目录,使用升级的Boost版本只需对.props文件进行一行更改,即可触发必要的项目重建(即仅那些实际引用Boost.vsprops的项目)。我非常喜欢使用
.props
文件来解决许多项目的问题