3

複雑な qbs プロジェクト ツリーがあります。また、静的ライブラリの 1 つは 3rd-part フレームワークに依存しています。このフレームワークを qbs 内にデプロイしようとしていますが、今のところうまくいきません。

dylib deploy の場合、次のコードを使用します。

Group {
            condition: qbs.targetOS.contains("osx") && bundle.isBundle
            files: [lib.sourceDirectory +"/Mac/*.dylib"]
            qbs.install: true
            qbs.installDir: "bin/"+FileInfo.path(bundle.executablePath)
        }

アプリケーション自体については、次のようにします。

Group {
        fileTagsFilter: ["application"]
        qbs.install: install
        qbs.installDir: bundle.isBundle ? FileInfo.joinPaths(installDir, FileInfo.path(bundle.executablePath)) : installDir
    }
Group {
    fileTagsFilter: ["aggregate_infoplist", "infoplist"]
    qbs.install: install && bundle.isBundle && !bundle.embedInfoPlist
    qbs.installDir: FileInfo.joinPaths(installDir, FileInfo.path(bundle.infoPlistPath))
}

Group {
    fileTagsFilter: ["pkginfo"]
    qbs.install: install && bundle.isBundle
    qbs.installDir: FileInfo.joinPaths(installDir, FileInfo.path(bundle.pkgInfoPath))
}

だから私の質問は次のとおりです:

  1. このバンドルの解決策は正しいですか、それともバンドルをインストールするための他の簡単な解決策がありますか?

  2. dylib ファイルで行ったように、第 3 部のフレームワーク バンドルで同様のことを行うことはできますか?

  3. アプリケーションがインストール済みのフレームワークを使用するように qbs に強制的に rpathes を変更させる方法はありますか?

ありがとうございました。

4

0 に答える 0