3

CMake をビルド システムとして使用して Qt プロジェクトを作成しました。展開フェーズに必要な Qt フレームワークを含めたい

Qt3Support.framework/ QtNetwork.framework/  QtXml.framework/
QtCore.framework/     QtOpenGL.framework/   
QtGui.framework/      QtSql.framework/ 

私のプログラムをスタンドアロンの dmg として配布する準備を整えるためです。

これは通常macdeployqtコマンドで行われますが、次のような多くのエラーが発生します。

ERROR: "strip: for architecture x86_64 object:
/Users/rs/build/myapp.app/Contents/Frameworks/QtXmlPatterns.framework/Versions/4/QtXmlPatterns
 malformed object (unknown load command 5)

展開段階で直接実行できるようにしたいのですが、可能ですか?

4

1 に答える 1

2

私は DeployQt4 と BundleUtilities をしばらく使用していましたが、著者の 1 人によると、簡単に修正できない問題に遭遇しました。

私は最終的に、BundleUtilities がその問題を防いでいることを実行する ruby​​ スクリプトを作成しました。私のスクリプトには現在、BundleUtilities と比較して制限があります。複数の実行可能ファイルを含むバンドルを処理しません。cmake で同じ機能を記述することは、私のマゾヒズムの程度を超えています (BundleUtilities が何をどのように行うかをなんとか理解できましたが、メモリ内のデータを整理するために使用しなければならなかった仕掛けに愕然としました)。

スクリプト自体はこちらから入手できます: https://github.com/artm/vision-ui-skeleton/blob/master/ruby/fixup/fixup.rb

次の下部にある cmake から使用されます: https://github.com/artm/vision-ui-skeleton/blob/master/cmake/QArtmRelease.cmake

OSX 10.6.x以降に付属するルビーで動作します。

于 2012-09-07T18:51:19.027 に答える