VC ++“Exclude Directories”项目设置实际上做了什么?

时间:2015-07-29 21:46:04

标签: c++ visual-c++ project visual-studio-2015 projects-and-solutions

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

  

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

如果我在此处列出目录,我不清楚目录是从哪个目录中排除的。所有MSDN help text都要说的是:

  

目录在检查构建依赖关系时不要搜索

这有点帮助,但是如果我在这里列出一些东西,我仍然不能完全确定我将获得/失去的功能。比如说,提升(来自pch工具的消息似乎暗示)。任何人都可以确切地说出这个设置的作用吗?

1 个答案:

答案 0 :(得分:4)

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

如果您有第三方库,例如boost,它只是很少更新,那么您可以将路径添加到Exclude框,以便依赖检查器不会打扰检查任何这些库。 但是,如果你在某个时候更新库,或者对它进行一些小改动,那么你将不得不手动重建所有依赖它的项目,因为你有告诉构建系统不要为你做。

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

相关问题