【问题标题】:Boost really slows down the compilation on VS2005Boost 确实减慢了 VS2005 上的编译速度
【发布时间】:2010-11-14 23:55:12
【问题描述】:

我最近开始在我的 C++ 项目中使用 Boost,并注意到在编译开始之前有相当大的延迟(当我点击重新构建时,我必须等待 5 分钟才能开始编译)。

我已经运行了 Filemon,它告诉我 Visual Studio 一直处于空闲状态 devenv.exe 正在通过 Boost 包含目录进行探测。

任何想法如何在不将 Boost 从项目中丢弃的情况下加快编译速度?

谢谢。

【问题讨论】:

  • 5 分钟似乎太长了,所以除了 VS 通过标题之外,可能还有其他东西。但是您是否尝试过预编译的标头? Visual C++ 预编译的头文件不是很好,但是...
  • 5 分钟太长了。这似乎是一个明显的评论,但是,您正在编译的机器的内存是多少?我认为是其他原因导致了这种情况,我认为这不是提升。
  • devenv.exe 是 Visual Studio IDE 进程(“开发环境”)。除了 IntelliSense 所需的任何扫描和解析之外,它并没有真正编译任何 C++。编译和链接实际上是由cl.exelink.exe 和他们的朋友执行的。尝试禁用 IntelliSense;这有帮助吗? (IntelliSense 在 Visual Studio 2008 中要好得多,在 Visual Studio 2010 中得到很大改进)。
  • 如何将其添加到预编译头文件中?只是将 boost 标头包含到 stdafx.h 中吗?

标签: c++ boost compilation


【解决方案1】:

您可能将 boost 包含目录直接添加到“项目设置 > C/C++ > 常规 > 附加包含目录”。 Visual Studio 跟踪项目依赖关系,以便在发生更改时提供最少的重新编译(这与 IntelliSense 无关)。

如果您这样做了,请将 boost 包含移动到您的 VS 包含路径 - 这是它们所属的位置,并且在您编译项目时它们永远不会被 VS 检查。 如果您不这样做,则项目设置中可能还有其他指向 boost 目录的链接。

【讨论】:

  • "VS 包含路径" - IDE 到底在哪里?
  • 它在 Tools->Options->Projects and Solutions->VC++ 目录下。您需要同时设置“包含文件”和“库文件”以获得增强支持。
  • 对于VS2012,在项目属性下->Configuration properties -> VC++ Directories -> Include Directories
猜你喜欢
  • 1970-01-01
  • 2021-10-21
  • 1970-01-01
  • 2016-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-16
  • 1970-01-01
相关资源
最近更新 更多