Qt:在制作之前运行脚本

Posted

技术标签:

【中文标题】Qt:在制作之前运行脚本【英文标题】:Qt: Run a script BEFORE make 【发布时间】:2013-04-02 14:05:07 【问题描述】:

我有一个脚本 runScript.sh,我想在创建应用程序之前运行(设置一些环境变量等)。

使用来自 Running a program/script from QMake 的建议,在我的 .pro 文件中,我在第一行,

QMAKE_POST_LINK += ./runScript.sh

它将在make 上编译并链接我的应用程序,然后运行脚本。

我在 .pro 文件中看到了 how to set the script up as a target 的示例,但我不确定我是否完全掌握了这个概念。有人可以更好地解释它吗,或者(甚至更好)有人知道如何做我想做的更简单的事情(我希望有一个“QMAKE_PRE_LINK”,但它似乎不存在哈哈)?

使用 Qt-4.8.4 和 qmake 2.03

【问题讨论】:

【参考方案1】:

您发布的链接很好地说明了这一点。

extralib.target = extra
extralib.commands = echo "Building extralib.."; \    # Run your programs here
                make -w -C ../my_libraries/extralib; \
                echo "Done building extralib."; \

extralib.depends =
QMAKE_EXTRA_TARGETS += extralib
PRE_TARGETDEPS = extra

所以,可以改写为

    extralib.target = extra
    extralib.commands = echo "Setuping the envirovment.."; \
                            export MYVAR="/usr/src/whatever" \
                            export SECONDVAR="/home/user" \
                            ./runScript.sh

    extralib.depends =



    QMAKE_EXTRA_TARGETS += extralib
    PRE_TARGETDEPS = extra

【讨论】:

所以,extra 是目标 - 啊哈!就像在makefile中声明.PHONY一样?那么extralib 是什么?它像环境变量吗? 最后,我可以重命名extralib 还是保留关键字? 我自己没有编译器,但是AFAIK,它不是保留关键字,所以你可以在QMAKE_EXTRA_TARGETS += extralib anotherextralib中添加多个...

以上是关于Qt:在制作之前运行脚本的主要内容,如果未能解决你的问题,请参考以下文章

制作 Qt Creator 以查看示例和文档

麒麟系统开发笔记:制作安装麒麟系统的启动U盘物理机安装麒麟系统以及搭建Qt开发环境

用Qt制作的Android独立游戏《吃药了》公布

Qt:脚本在按下按钮之前运行

在 Windows 上制作期间未定义 Qt vulkan 类

如何在网页上运行任何内联脚本之前运行用户脚本?