【问题标题】:Qt: Run a script BEFORE makeQt:在制作之前运行脚本
【发布时间】: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

【问题讨论】:

    标签: qt makefile


    【解决方案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中添加多个...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-23
    相关资源
    最近更新 更多