【问题标题】:Qt Creator Windows 10 - "Use jom instead of nmake" not workingQt Creator Windows 10 - “使用 jom 而不是 nmake”不起作用
【发布时间】:2017-08-14 13:57:37
【问题描述】:

我正在使用 Qt 5.5.1 版(但使用 5.6.1 GUI),我正在使用 MSVC++ Compiler 10.0 进行编译,并且我在选项 -> 构建和运行中选中了“使用 jom 而不是 nmake”选项-> 常规菜单。我正在使用最新版本的 cmake,并且 Options -> Build & Run -> Kits -> CMake generator 设置为“CodeBlocks - NMake Makefiles”。老实说,我不知道最后一个选项是做什么的,它只是默认值。

我正在构建并运行 QT creator IDE。

如果我将 -j 添加到 Projects -> Build&Run -> Build Steps 中的“工具参数”中,那么当我尝试编译时会出现错误:

NMAKE:-1: error: U1065: invalid option 'j'

但是,我选择了“使用 jom 而不是 nmake”,所以它应该使用 jom 并接受这个参数,不是吗?

我错过了一步吗?

我找不到任何关于如何执行此操作的说明,我能找到的使用 jom 编译的唯一教程是通过命令行编译,我不想这样做。

编辑:这是与How do I utilise all the cores for nmake? 不同的问题,因为该问题专门询问为什么 Jom 解决方案(建议作为该问题的答案)不适用于我的设置。 p>

编辑 2:我想我可能已经找到原因了。 This bug report 建议您需要在 kits -> cmake generator options 中使用"CodeBlocks - NMake Makefiles JOM" 选项。这仅支持 QtCreator 4.2.1 及更高版本。但是,我有这个,它仍然无法正常工作。我现在得到错误:

C:\Program Files\CMake\share\cmake-3.8\Modules\CMakeTestCCompiler.cmake:51: error: The C compiler "C:/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin/cl.exe" is not able to compile a simple test program. It fails with the following output: Change Dir: C:/GIT/CorteX/build/Debug/CMakeFiles/CMakeTmp

【问题讨论】:

  • @usr1234567 我已经解释了为什么这不是重复的。

标签: parallel-processing compilation cmake qt-creator nmake


【解决方案1】:

Jom 可以原生使用 Nmake 文件,因此不需要从构建配置中的默认 nmake 生成器更改 cmake 生成器。 cmake 生成器将您的 cmake 转换为您的本机构建系统格式(例如 make 或 nmake)。

(即 Projects > Manage Kits ... > Build & Runs > Kits。选择您的工具包。我的 Cmake 生成器:设置为“CodeBlocks - Nmake Makefiles, Platform: , Toolset:”)。

您需要的唯一更改是添加自定义构建步骤以运行 jom.exe 并禁用默认构建步骤,如 Qtcreator JOM setup

注意jom.exe 必须在您的 PATH 变量中,QtCreator 才能找到它。

【讨论】:

    【解决方案2】:

    jom 需要 -j ,您可以在其中设置进程数,例如jom -j4。你不能只使用-j 而不计数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多