2017-08-14 487 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而沒有計數。