如何在我的QtCreator的.pro项目文件

时间:2017-06-16 06:43:40

标签: c++ qt mingw qt-creator qmake

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

我知道我可以转到项目选项并为Make添加-j%NUMBER_OF_PROCESSORS%选项: enter image description here

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

我试过了:

  • QMAKE_CXXFLAGS += -j%NUMBER_OF_PROCESSORS%,但这会设置arm-linux-androideabi-g ++的选项,它应该设置为mingw32-make.exe
  • $$(MAKEFLAGS) = -j%NUMBER_OF_PROCESSORS%,没有成功......不确定从.pro文件设置和环境变量的正确语法......甚至不确定是否可行。
  • $$(MAKE_COMMAND) = mingw32-make -j%NUMBER_OF_PROCESSORS%,没有成功

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

3 个答案:

答案 0 :(得分:0)

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

简而言之:不要。如果你想要最佳的cpu核心使用率,可以使用像Ninja这样的东西,它可以自动完成,而不需要特定的数字。

注意:Ninja不适用于qmake。如果可能的话尝试CMake。即使脚本语言很糟糕,它也提供了很多可能性和灵活性。

答案 1 :(得分:0)

Project的构建和运行设置保存在.pro.user文件AFAIK中。您可以使用脚本修改.pro.user,找到如下所示的行: “< value type =”QString“key =”Qt4ProjectManager.MakeStep.MakeArguments“> [EMPTY,或其他一些参与者]< / value>”(根据版本和平台可能略有不同)并更改任何内容代替 使用-j%NUMBER_OF_PROCESSORS%[空白或其他一些参与者]。 但是,您需要在.pro.user文件中保留每个特定用户的大多数其他设置,这意味着您需要在每个主机上运行脚本,并且在任何用户更改的情况下,在Qt Creator中创建参数构建设置。请注意,我并不是说手动修改.pro.user是一个好主意,但这是一种做你想做的事情。

答案 2 :(得分:0)

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

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