我有一个很大的二进制文件,它是由许多静态库和独立的cpp文件构建的。它被配置为使用增量链接,所有优化都被/Od
禁用-它是调试版本。
我注意到,如果我改变任何独立的cpp文件,那么增量链接运行速度快- 1分钟。但如果我在任何静态库中改变任何cpp,那么它运行时间长- 10分钟,与普通链接相同。在这种情况下,我没有从增量链接中获得任何好处。有可能加快速度吗?
在项目的link General属性页中设置"Use Library Dependency Inputs"。这将从依赖项.lib而不是.lib中链接各个.obj文件,这可能会有一些不同的副作用。
我会给你一个不同类型的答案。硬件。
你的开发环境是什么?无论如何要获得更多的RAM或把您的项目到一个固态驱动器?我发现在我的工作项目中,使用固态硬盘将我的链接时间提高了一个数量级。对编译时间有一点帮助,但是链接太大了。获得一个更快的系统当然也有帮助。
如果我理解正确的话(在使用Visual studio几年后),增量链接功能不适用于作为静态库一部分的对象文件。
解决这个问题的一种方法是重构您的解决方案,以便您的应用程序项目包含所有源文件。