Qt Creator,使用分支名称构建目录

5

根据我使用的几个工具包,Qt Creator生成的构建目录是由以下内容决定的:

  • 项目名称
  • Qt版本
  • 编译器
  • 构建配置:debug / release

例如:build-client-Qt_5_3_0_fooProject_MINGW_32bit_qmake_MinGW22-Debug

我的问题是,如果我切换git分支,我总是需要重新编译(费时)。我想知道是否可能包含分支名称,这样我就可以同时保留不同的构建。

=> 可能的构建目录:

  • build-client-Qt_5_3_0_fooProject_MINGW_32bit_qmake_MinGW22-Debug_master
  • build-client-Qt_5_3_0_fooProject_MINGW_32bit_qmake_MinGW22-Debug_branchbar

或者是否有机会添加第三个构建配置,例如Debug_others,从而得到一个类似于以下的构建目录:

build-client-Qt_5_3_0_fooProject_MINGW_32bit_qmake_MinGW22-Debug_others


当您检出git分支时,会更改现有文件,因此会触发重新构建它们。您可以考虑保留多个构建目录 - 每个分支一个。 - vahancho
抱歉,我不理解您的评论。这就是我要求的,我如何自动管理不同的构建目录,例如基于分支名称。 - Horst Walter
1个回答

3
您可以在左侧的“Project”标签中管理构建。如果您想要构建自动切换目录以根据您所在的分支进行操作,则需要在每个分支上编辑“*.pro.user”文件。查找以下行:
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">
    /home/etc/etc/etc
</value>

将目录更改为您想要的目录(例如,编辑值的结尾部分)。在不同的分支上,让它指向其他地方。因此,更改分支将更改阴影构建目录。

P.S. 如果您有几个构建(如调试,发布),则需要检查您正在编辑的构建目录是否是您想要的目录。检查activeBuildConfiguration号码,并仅编辑其目录(构建编号通常在我展示的行的上一行),或将activeBuildConfiguration更改为0和第一个构建目录。

这有点复杂,但我认为还是可以应对的。


虽然有点hacky,但我仍然认为这是一个好的解决方案。问题是,在我的情况下,*.pro.user文件被git忽略了(这是有道理的,因为它是用户特定的),所以切换分支不能改变此文件中的配置。 - Chris K
多用户扩展:将您的myproj.pro文件复制到myproj-USERNAME.pro(或使它们包含一个.pri文件与内容)。然后每个开发人员都可以检入他们的myproj-USERNAME.pro.user文件并在每个分支中更改它。 - akw

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接