过去一直运作的东西现在对我不起作用。我一直能够使用Qt Creator,Jom和Visual Studio 14(2015)编译器的组合并行构建。
我使用NMake Makefiles生成,但将CMAKE_MAKE_PROGRAM设置为jom。我不使用CMake提供的生成器“NMake Makefiles JOM”,因为Qt Creator似乎无法解析输出 - 即我没有显示项目层次结构。但我相信我现在这样做的方式在过去对我有用,但现在它只为我编制顺序。
我从默认的
修改QtC中的构建步骤cmake --build . --target all
到
cmake --build . --target all -- -j8
以便将-j8传递给jom。
我注意到两件事: 生成的Makefile在顶部附近有.NOTPARALLEL 我相信当JOM启动时会导致输出,
jom: parallel job execution disabled for Makefile
然而,当我手动注释掉.NOTPARALLEL时,我仍然获得顺序编译。
关于这里发生了什么的任何想法? 对于CXX_FLAGS,我使用/ MP标志而不使用/ Gm标志 - 我知道这些是不兼容的
编辑:Windows 10上的Qt Creator版本4.5和CMake 3.6.1。
答案 0 :(得分:1)
构建数据占据可用CPU总量的25%左右 - 因此我的误诊认为构建是按顺序完成的。 实际问题与硬件有关。某些事件触发了CPU时钟的硬件级限制(停留在0.78GHz)。将Dell Precision 5510的电池拉15秒并重新连接就可以了。