gpt4 book ai didi

c++ - 在 Windows 上快速编译 Qt C++

转载 作者:IT老高 更新时间:2023-10-28 22:25:55 34 4
gpt4 key购买 nike

我有一个使用 Qt 框架的大型项目,我正在努力寻找在我的 Windows 安装上编译它的最快方法。

在我家里的 linux 机器上,我使用 3 年的双核 Linux Mint 设置(机器是 3 年的,没有安装 Linux Mint),使用:make -j2 两个内核都使用full(ish) 并相对快速地编译代码,从干净构建开始大约需要 10 分钟。

但是,在我的工作 Windows PC 上,它是 2.0 GHz Intel Core 2 Quad (XP),我似乎永远无法让编译速度与我的 Linux 机器一样快。该程序的开发人员文档建议使用从 cmake 生成的项目文件使用 Visual Studio C++,但这似乎只使用一个内核,编译需要一个多小时,而在我的 Linux 安装上大约需要 10 分钟(从干净构建)。

我使用过 jom但即使使用所有核心,它仍然需要大约一个半小时,因为它似乎只在每个核心上使用少量 cpu。

对我来说,我的旧 Linux 机器构建速度很快,但四核却一蹶不振,这对我来说毫无意义。

最佳答案

多年来,以下内容帮助我们加快了 Windows C++ Qt 构建的速度:

  1. 自定义了我们的防病毒软件的设置,以排除扫描我们的源代码、目标代码以及我们正在构建的所有头文件和库(Visual Studio、Qt 等)的位置。 (有一个单独的 AV 检查会在一夜之间运行,以扫描那些排除的文件夹)
  2. 比较了各种不同 AV 包下的构建速度。 (这是几年前的事了,但结果,我们从 McAfee 转移到了 Sophos)
  3. 确保在构建期间访问的所有文件都在本地磁盘驱动器上(我们曾经在网络驱动器上针对 Qt 进行构建,但这会影响构建性能)
  4. 确保将 Visual Studio 配置为一次执行多个编译步骤:This answer shows various ways of这样做。
  5. 增加了 RAM 的数量:我们现在发现 4 GB 是绝对最小值,对于相当大的代码库
  6. 从静态链接切换到动态链接,大幅缩短链接时间。
  7. 迁移到新版本的 Visual Studio,因为 MS 提高了性能:请参阅 Visual Studio 2010 page ,然后搜索“更快的编译”

我们的 Windows 构建仍然比 Linux 慢,但我不能说这是一个公平的比较,因为我们共享的 Linux 构建盒的规范比开发人员 PC 高得多。

(顺便说一句,如果您以前没有看过它们,那么值得一读 Jeff Atwood 所说的关于开发人员 PC 的良好配置:例如 Programmer's Bill of Rights)

更新:25/10/2012

如果您使用的是带有 DLL 构建的 Visual Studio 2008,我目前不建议迁移到 Visual Studio 2010:存在一个问题,即不必要地重新链接相关项目,这绝对会降低开发人员的工作效率,至少在一个有 20 个左右 .vcxproj 文件的 .sln 中:

可能有一个解决方案 - 我会在稍后更新,一旦我测试过 - 见 Unnecessary relinks of dependent projects when building with Visual Studio 2010 CORCOR 说:

If others have a similar problem:

Turning off the manifestation creation for the DLL projects and turning it on only for the application project helps!

With VS2008 this seemed to be no problem.

关于c++ - 在 Windows 上快速编译 Qt C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7735979/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com