如何在 QtCreator 的 .pro 项目文件中设置 -j mingw 选项

How can I set -j mingw option in my QtCreator's .pro project file

我正在使用 QtCreator 为 Android 构建一个巨大的 C++/Qt 项目。我有生成 .pro 文件的脚本,我想在 .pro 文件中指定我希望构建多线程。

我知道我可以转到项目选项并向 Make 添加 -j%NUMBER_OF_PROCESSORS% 选项:

但是,由于我希望为我们的所有项目和每个开发人员设置此选项,因此我希望从 .pro 文件中设置此选项。

我试过:

有谁知道如何从 .pro 文件设置这个选项?

没有办法,原因很简单,它不属于项目文件。如果您团队中的开发人员不想使用他所有的核心,因为他正在做其他事情,同时他想要更多 CPU 果汁怎么办?如果某人的核心数量少于您选择的数量怎么办?如果某人的核心数量多于您选择的数量怎么办?

简而言之:不要。如果您想要最佳 cpu 核心使用率,请使用 Ninja 之类的东西,它会自动执行,不需要特定的数字。

注意:Ninja 不能与 qmake 一起使用。如果可能,请尝试使用 CMake。尽管脚本语言很糟糕,但它在 return.

中提供了很多可能性和灵活性

项目的构建和 运行 设置保存在 .pro.user 文件中,AFAIK。你可以修改 .pro.user 用你的脚本,找到一个看起来像这样的行: “[EMPTY, OR SOME OTHER MAKE ARGUMENTS]”(根据版本和平台可能略有不同)并更改该位置的任何内容的 使用 -j%NUMBER_OF_PROCESSORS% [EMPTY,或一些其他的 MAKE ARGUMENTS]。 但是,您需要为每个特定用户保留 .pro.user 文件中的大部分其他设置,这意味着您需要脚本在每个主机上都为 运行,在任何情况下,任何用户更改在 Qt Creator 的构建设置中生成参数。请注意,我并不是说手动修改 .pro.user 是个好主意,但这是一种做你想做的事情的方法。

实际上,他最好的办法是建议每个想要加速编译的开发人员设置 MAKEFLAGS 环境变量。它可以决定将其设置为 -j2-j4-j%NUMBER_OF_PROCESSORS%(如果它想要快速编译,即使它使计算机过载)。

然后由 make 使用并应用于使用 QtCreator 编译的每个项目。使用该选项的事实在 QtCreator 中绝对不可见(也不在选项页面中,也不在日志中),但是,您可以在 Windows 任务管理器中看到 g++ 的几个实例是 运行并行