qt构建系统中的jom是什么?如何从命令行调用jom来构建qt项目

What is jom in qt build system ? how to call jom from command line to build qt project?

本文关键字:qt jom 构建 命令行 调用 项目 系统 是什么      更新时间:2023-10-16

尝试构建并运行一个简单的"Hello world.."Qt应用程序从命令行,开始以下步骤和敲击在编译和构建。1. 创建了main.cpp文件2. 运行qmake -pro命令创建项目文件3.执行qmake命令创建make文件(这里必须运行nmake或jom..)我试过了。4. 运行jom.exe makefile,但是没有任何反应。

所以这是我的问题…什么是jom(和expansion ?)如何从命令行调用jom .

我使用Qt 5.1.1与Microsoft Visual c++编译器11.0.

nmake不像GNU make那样利用所有可用的处理能力。Jom是nmake的克隆,支持并行执行多个独立命令。它可以同时使用任意数量的进程。

当使用它时,例如在四核机器上使用Qt构建所需时间是使用nmake的一半。

您也可以使用-j命令行参数来设置并发进程的数量:

C:QtQt5.1.1ToolsQtCreatorbinjom.exe -j 12 -f Makefile 

12表示要使用的内核数。我用12,因为我有12个线程

正如(Nejat)回答的那样,GNU Make在这个主题中有一些众所周知的限制,并且它没有使用所有可用的计算能力,因此我建议使用jom。Jom是nmake的克隆,支持并行执行多个独立命令。它可以同时使用任意数量的进程。

要使用Jom,必须在项目本身中设置,而不是在Qt工具选项中设置:

  1. 进入项目的构建设置,在构建步骤类别下有一个"Make"项。
  2. 展开细节,你会发现一个"Override mingw32-make.exe:"项目。粘贴接缝位置。"C:QtSDKQtCreatorbin jam .exe"在那里,突然我正在用多个内核构建。

设置jom的步骤

感谢Nejat的回答