快速Qt C ++在Windows上编译

问题描述 投票:16回答:6

我有一个使用Qt框架的大型项目,正在尝试寻找最快的方法在Windows安装中对其进行编译。

在家里的我的Linux机器上,我使用具有双核的3年旧Linux Mint设置(该机器3年而不是Linux Mint安装)],使用:make -j2两个内核都已完全使用(ish)并以相对较快的速度编译代码,大约从干净的构建开始就需要10分钟。

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

我尝试使用jom,但即使使用所有内核,它仍然也需要大约一个半小时,因为在每个内核上似乎只使用了少量的CPU。

对我而言,我的旧Linux机器构建速度很快,但四核只是一lum不振。

我有一个使用Qt框架的大型项目,正在尝试寻找最快的方法在Windows安装中对其进行编译。在家里的linux机器上,我使用具有3年历史的Linux Mint设置,并带有双重...

c++ windows qt compilation cmake
6个回答
16
投票

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

  1. 自定义了我们防病毒软件的设置,以免扫描我们的源代码,目标代码以及我们所依据的所有标头和库(Visual Studio,Qt等)的位置。 (有一个单独的防病毒检查可在一夜之间运行,以扫描那些排除的文件夹)

3
投票

这可能是一种解决方法,但是我们使用Incredibuild,它可以在多台计算机之间分布构建,效果很好。将我们的构建时间从40分钟减少到10分钟。 (我们已经连接了6台开发人员PC来分担工作量)


2
投票

Visual Studio可以并行编译多个项目,但是每个项目都是按顺序编译的。因此,如果您编译一个包含2个项目的解决方案,那么将并行启动两个进程,但是如果您只有一个项目,那么将仅启动一个进程,它将按顺序编译您的源代码。


2
投票

我有同样的问题。在我们的计算机上运行着一个试图确定与Windows 7兼容性的软件。该软件将软件的每次启动都记录到数据库中,从而使新进程的启动速度有所降低。由于编译器会为每个文件启动一个新进程,因此这大大降低了整个编译过程的速度。


1
投票

在Visual Studio中,您去过:


1
投票

我认为最好的方法是将您的项目拆分为多个项目,每个项目都是静态库项目,并通过通常为MainWindow类的容器项目将它们连接在一起。因此,编译时间是第一次需要一段时间,然后会很短(取决于您的修改)。

© www.soinside.com 2019 - 2024. All rights reserved.