我有一个使用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设置,并带有双重...
多年来,以下内容帮助我们加快了Windows C ++ Qt的构建速度:
这可能是一种解决方法,但是我们使用Incredibuild,它可以在多台计算机之间分布构建,效果很好。将我们的构建时间从40分钟减少到10分钟。 (我们已经连接了6台开发人员PC来分担工作量)
Visual Studio可以并行编译多个项目,但是每个项目都是按顺序编译的。因此,如果您编译一个包含2个项目的解决方案,那么将并行启动两个进程,但是如果您只有一个项目,那么将仅启动一个进程,它将按顺序编译您的源代码。
我有同样的问题。在我们的计算机上运行着一个试图确定与Windows 7兼容性的软件。该软件将软件的每次启动都记录到数据库中,从而使新进程的启动速度有所降低。由于编译器会为每个文件启动一个新进程,因此这大大降低了整个编译过程的速度。
在Visual Studio中,您去过:
我认为最好的方法是将您的项目拆分为多个项目,每个项目都是静态库项目,并通过通常为MainWindow类的容器项目将它们连接在一起。因此,编译时间是第一次需要一段时间,然后会很短(取决于您的修改)。