如何在Qt .pro文件中添加默认执行的构建步骤替代GUI配置
你对QMAKE_EXTRA_TARGETS的用法不存在误解,它的默认作用就是定义独立的额外构建目标,不会自动加入默认make的执行流程,必须手动指定目标名才会触发执行。
如果要让自定义构建步骤在正常执行make时自动运行,有两种成熟的实现方案:
方案1:给自定义目标添加主目标依赖
通过将自定义目标加入主构建目标的依赖链,即可让自定义步骤随默认构建流程自动执行:
# 定义自定义步骤的执行命令 mystep.commands = echo 'hello. This is my custom process step' # 标记该目标不需要生成二进制文件,避免qmake添加额外的链接逻辑 mystep.CONFIG += no_link # 加入主目标前置依赖:构建主目标前先执行mystep PRE_TARGETDEPS += mystep # 注册自定义目标 QMAKE_EXTRA_TARGETS += mystep
如果你希望自定义步骤在主目标构建完成后再执行,把PRE_TARGETDEPS替换为POST_TARGETDEPS即可。
方案2:直接使用QMAKE_POST_LINK(仅适用于构建后执行的场景)
如果你的自定义步骤只需要在链接完成后执行,不需要复杂的配置,可以直接用QMAKE_POST_LINK变量,配置更简洁:
# 单条命令 QMAKE_POST_LINK += echo 'hello. This is my custom process step' # 多条命令用&&拼接 QMAKE_POST_LINK += echo 'step 1 done' && cp bin/target /path/to/output/
以上两种方案的配置都写在.pro文件中,不需要修改.pro.user文件,也不需要在Qt Creator中做GUI配置,同时兼容命令行构建和Qt Creator构建,完全支持shell脚本批量处理。
内容的提问来源于stack exchange,提问作者sofname
相关产品推荐
相关产品推荐

