2017-08-14 129 views
0

我正在使用Qt版本5.5.1(但使用5.6.1 GUI),我正在使用MSVC++ Compiler 10.0进行编译,并且已经检查了“使用jom而不是nmake“选项,在Options - > Build & Run - > General菜单中。我正在使用最新版本的cmake,并且选项 - > Build &运行 - >套件 - > CMake generator被设置为“CodeBlocks - NMake Makefiles”。说实话,我不知道最后的选择是什么,它只是默认设置。Qt Creator Windows 10 - “使用jom而不是nmake”不起作用

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

如果我添加-j在项目的“工具参数” - >构建&运行 - >生成步骤,然后当我尝试编译我的错误:

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

不过,我有“使用jom而不是nmake“选择,因此它应该使用jom并接受这个参数,不是吗?

我错过了一个步骤?

我找不到有关如何做到这一点的任何说明,我可以找到的使用jom编译的唯一教程是通过命令行进行编译的,我不想这样做。

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

编辑2:我想我可能已经找到了原因。 This bug report建议您需要在工具包 - > cmake生成器选项中使用"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 
+0

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

回答

1

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

(即Projects> Manage Kits ...> Build & Run> Kits。choose your kit。I have Cmake generator:set to“CodeBlocks - Nmake Makefiles,Platform:,Toolset:”)。

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

N.b. jom.exe必须在您的PATH变量中才能找到QtCreator。

0

JOM要求-j,在其中设置的进程数,例如jom -j4。你不能仅仅使用-j而没有计数。