过去一直行之有效的东西现在对我不起作用。我一直能够使用Qt、Jom和Visual 14(2015)编译器的组合并行构建。
我使用NMake生成Makefiles,但是将CMAKE_MAKE_PROGRAM设置为jom。我不使用CMake提供的生成器"NMake Makefiles JOM“,因为generator似乎无法解析输出-也就是说,我没有显示项目层次结构。但我相信,我现在这样做过去对我起过作用,但现在它只对我有顺序的汇编。
我在默认情况下修改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标志--我知道它们是不兼容的
编辑:QtCreatorVersion4.5和CMake 3.6.1在Windows10上。
发布于 2018-04-23 02:59:18
构建是平坦的,大约占总CPU的25%,因此我错误地判断了构建是按顺序进行的。实际问题与硬件有关。一些事件触发了CPU时钟的硬件级限制(停留在0.78GHz)。拔出我的戴尔精密5510的电池15秒,并重新连接的诀窍。
https://stackoverflow.com/questions/49961949
复制相似问题