在Windows上编译快速Qt C++

Nat*_*n W 15 c++ windows qt compilation cmake

我有一个使用Qt框架的大型项目,我正在尝试找到在Windows安装上编译它的最快方法.

在我家的linux机器上,我使用3岁的Linux Mint设置和双核(机器是3岁而不是Linux Mint安装),使用:make -j2两个核心都使用完整(ish)并编译代码相对较快距离清洁建筑大约10分钟.

然而,在我的工作Windows PC,这是2.0 GHz英特尔酷睿2四核(XP)我似乎永远不会让编译速度与我的Linux盒子一样快.该程序的开发人员文档建议使用从cmake生成的项目文件使用Visual Studio C++但是在我的Linux安装上只需要使用一个核心并且需要花费一个多小时来编译,大约需要10分钟(来自干净版本).

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

对我来说没有意义,我的旧Linux机器快速构建,但四核心只是瘫痪.

Cla*_*rae 16

多年来,以下有助于我们的Windows C++ Qt构建的速度:

  1. 自定义我们的防病毒软件上的设置,以排除扫描我们的源代码,目标代码以及我们正在构建的所有标头和库(Visual Studio,Qt等)的位置.(有一个单独的AV检查可以在一夜之间运行,以扫描那些被排除的文件夹)
  2. 比较各种不同AV包下的构建速度.(这是几年前的事了,但结果,我们从迈克菲搬到了Sophos)
  3. 确保构建期间访问的所有文件都在本地磁盘驱动器上(我们曾经在网络驱动器上针对Qt进行构建,但这会破坏构建性能)
  4. 确保Visual Studio配置为一次执行多个编译步骤:此答案显示了执行此操作的各种方法.
  5. RAM的数量增加:我们现在发现,对于相当大的代码库,4 GB是绝对最小值
  6. 从静态链接切换到动态链接,大大缩短链接时间.
  7. 移动到新版本的Visual Studio,因为MS提高了性能:请参阅此Visual Studio 2010页面,并搜索"更快的编译"

我们的Windows版本仍然比Linux版本慢,但我不能说这是一个公平的比较,因为我们的共享Linux构建盒比开发者PC更高.

(顺便说一句,如果您之前没有看过它们,那么值得一读的是Jeff Atwood对开发者PC的良好配置所说的内容:例如程序员的权利法案)

更新:25/10/2012

如果你在Visual Studio 2008上,使用DLL构建,我目前不建议迁移到Visual Studio 2010:存在一个问题,即依赖项目的不必要的重新链接绝对会影响开发人员的工作效率,至少在.sln中有20或者所以.vcxproj文件:

可能有一个解决方案 - 我稍后会更新,一旦我测试了它 - 在使用Visual Studio 2010进行构建时,请参阅 不必要的依赖项目重新链接,其中CORCOR说:

如果其他人有类似的问题:

关闭DLL项目的表现形式创建并仅为应用程序项目打开它有助于!

使用VS2008,这似乎没有问题.