1

Mac QTインストーラーは、共有ライブラリを。の下に置きます/Library/Frameworks/QtXXX.Framework
qmakeで生成されたxcodeプロジェクトを使用してQTアプリケーションを構築しています。これらのフレームワークをアプリバンドル内のプライベートフレームワードとして追加して、簡単にデプロイできるようにしたいと思います。

これを行うためにさまざまなオプションを試しましたが、機能させることができないようです。私がしたこと -

  • ここで説明されているように、Qtフレームワークファイルを/Library/Frameworks/使用して変更しますinstall_name_tool
  • これらのフレームワークバンドルを手動でアプリバンドル内にコピーします
  • バンドルを再コンパイルします。

元のフレームワークの名前を変更して、そこにないように見えるようにすると、アプリがクラッシュし、必要なフレームワークが見つからないと表示されます。私は何が間違っているのですか?

OSX10.7.3でのxcode4.3の使用

4

1 に答える 1

1

Qt アプリケーションを Mac にデプロイするためのいくつかのオプション:

  • Qt にはmacdeployqtツールが付属しており、ビルドされたアプリ バンドルに Qt をバンドルします。ただし、このツールは少し制限されており、必要な機能が実行される場合と実行されない場合があります。
  • CMakeにはDeployQt4が付属しており、ビルドにも cmake を使用したくない場合に備えて、デプロイのみに使用することもできます。
  • リンクで説明されているように、 install_name_tool を使用して独自のスクリプトを作成できます。うまくいかない場合は、otool -L で、実行可能ライブラリとバンドルされたライブラリのすべての絶対パスを置き換えたかどうかを確認してください。バンドルされているライブラリのパスも修正する必要があります。(再帰的に、いわば)。

ただし、最新リリースの cmake バージョン (2.8.7) は XCode 4.3 を適切にサポートしていません。Xcode 4.3 以降、以前にインストールされていたファイル/Developer/Applications/Xcode.app/Contents/Developer. cmake はまだそれらを期待してい/Developerます。それは cmake master で修正されていますが、まだリリースされていません。回避策は、シンボリック リンクを作成することです。

ln -s /Applications/Xcode.app/Contents/Developer /Developer
于 2012-04-13T14:31:44.667 に答える