4

数年ぶりに Qt (5.0.1) を使用するようになりました。

QMAKE_BUNDLE_DATA を使用して dylib を配布し、できれば OSX アプリケーション バンドルにプラグインを配布するのに問題があります。

私のアプリケーション .pro ファイルの関連部分は次のようになります。

macx {
        dylibs.path = $$DESTDIR_TARGET/Contents/Frameworks
        dylibs.files = $$DESTDIR/../lib/*
        QMAKE_BUNDLE_DATA += dylibs

        plugins.path = $$DESTDIR_TARGET/Contents/Plugins
        plugins.files = $$DESTDIR/../plugins/*
        QMAKE_BUNDLE_DATA += plugins
}

INSTALLS += target

$$DESTDIR が正しい場所を指しており、そのディレクトリにファイルが存在することを確認しました。私は Makefile が苦手ですが、私が理解していることから、qmake は次のようなターゲットを生成しています。

../../../build/apps/MyApp.app/Contents/Frameworks/*:

これらのターゲットは、all ターゲットでは参照されません。私が間違っていることはありますか?

4

1 に答える 1

2

QMAKE_BUNDLE_DATA をあきらめました。app_bundle ターゲットでは機能しないことがわかりました。

代わりに、and を使用INSTALLSmake installてアプリ バンドルを生成し、macdeployqt への呼び出しをトリガーして処理を終了します。

理想的ではありませんが、うまくいきます。

于 2013-04-22T16:19:09.063 に答える