Qt Mac OS X:使用QMAKE_BUNDLE_DATA和/和自定义目标

时间:2016-12-12 09:52:06

标签: macos qt makefile qmake qt5.7

我正在处理Qt桌面应用程序的构建问题。我使用 QT 5.7

据我所知,对于qt mac应用程序,我需要使用 QMAKE_BUNDLE_DATA将所有资源捆绑到.app 中,所以我使用了它。我还为make文件定义了自定义目标,该文件运行外部命令(rcc),生成一些需要复制到.app包中的.rcc 文件。< / p>

...
CMD_RCC += "rcc -binary "$${QRC_FILE}" -o "$${RCC_FILE}

creatercc.commands = $$CMD_RCC
creatercc-check.commands = $$CMD_RCC
creatercc-make_first.commands = $$CMD_RCC
creatercc-make_default.commands = $$CMD_RCC
creatercc-make_all.commands = $$CMD_RCC
creatercc-qmake_all.commands = $$CMD_RCC

QMAKE_EXTRA_TARGETS *= creatercc creatercc-check creatercc-make_default creatercc-make_first creatercc-make_all creatercc-qmake_all creatercc-clean creatercc-distclean
PRE_TARGETDEPS *= creatercc

macx{
    DEPLOYDIR = $$PWD/deploy

    LAUNCHER_THEMES.files = \
        $$PWD/deploy/themes/res.rcc
    LAUNCHER_THEMES.path = Contents/Resources/themes
    QMAKE_BUNDLE_DATA += LAUNCHER_THEMES
}

问题是我在编译时收到错误,这表示 .app软件包找不到.rcc 文件,意思是没有生成.rcc文件!但是,我在没有QMAKE_BUNDLE_DATA的情况下测试了我的自定义目标(creatercc)并生成.rcc文件,因此我得出结论 .app bundle想要在创建.rcc之前创建,这样就可以了解捆绑包的原因找不到.rcc文件。

问题是:如何确保预定义目标首先在QMAKE_BUNDLE_DATA之前运行,并且QMAKE_BUNDLE_DATA等待直到预定义目标命令结束它的执行?感谢

0 个答案:

没有答案