2011-10-23 16 views
-1

[OK]を私はエンジニア/適用-数学の男とだけ穏やかにいくつかのソフトウェアのLinuxバージョンに感銘を受けました技術が、マックのためにそれを望んでいる誰か(医師が...)していますので、「Mac用の再配布可能なバイナリ、QTと他のライブラリを使用しているクラッシュコース」?

誰かが再配布する方法で私を指すことができますMac用の実行ファイルですか?私がWindowsを捨てる前に、アトミックな解決策は一連のDLLをSystem32フォルダにコピーすることでした。いくつかのサブ質問:

1) "sudo macports install XYZ"が表示されます。これで静的にQTアプリを構築できますか? QTがインストールされているとします。私のアプリが自分のアプリで見つけられるようにするにはどうすればよいですか?

2)VTK + QT + Boostを使ってMac用アプリケーションを作成する例がありますか?

漠然とした質問で謝罪しました。体系的に検索するものが分かっていれば、私はそうしていたでしょう。

+2

[QtのMac OS Xでのアプリケーションのデプロイメント](http://doc.qt.nokia.com/stable/deployment-mac.html)を読んだことはありますか? –

答えて

2

Qt + VTK + Boostをアプリに静的にリンクさせる特別な理由はありますか? Macの場合、これらのライブラリの場合、なぜ静的リンクが動的よりも好ましいのか(ライセンスを除いて)何も考えられません。

Bavariousが投稿した「Mac OS Xでのアプリケーションのデプロイ」リンクを見てください。 Macアプリをバンドルに保存する方法について説明し、多数のファイルで構成されたアプリケーションをユーザーに単一のファイルとして表示できるようにします。ライブラリはバンドル(ヘッダファイルとともに)に格納することもできます。その場合、フレームワークと呼ばれます。必要なフレームワークをアプリケーションバンドル内に格納することができ、アプリを自立させることができます。

Qtは、バンドル内のQtフレームワーク(プラスプラグイン)は、その後、(install_name_tool使用)アプリのバイナリを修正するので、ダイナミックリンカは、アプリケーションバンドルで見て知って自動的にコピーmacdeployqtと呼ばれるユーティリティが付属しています。おそらくVTKとBoostに対してこれを手動で行う必要があります。これは、フレームワークとして自動的にビルドされていないと複雑になる可能性があります。彼らは人気のあるライブラリですが、VTK/Boostを搭載したMacアプリの導入についてのインターネット上のガイドが必要です。

また、私はこの目的のためにQtをインストールするためにMacPortsを使用しません。 Qtのバイナリavailable from Nokiaはうまく動作し、普遍的です(両方をターゲットにする必要がある場合は、32ビットと64ビットの両方に対応しています)。

ところで、私は特にWindowsの人ではありませんが、DLLをSystem32に投げ込むことは、Windowsにライブラリを配備するための良い方法だとは思いません。私が作ったQtアプリケーションでは、Qt DLL(とmingw/gcc DLL)を.exeと同じフォルダに入れて、うまくいきました。

+0

なぜ静的なのか:互換性の問題やランタイムクラッシュを処理するよりも、200MBのディスク容量をむしろ浪費するためです。デモがうまくいけば、実際の "ソフトウェアの人"を割り当てて、これを行い、私を孤独にすることができます。 – user695917

+0

私は本当に "DLLとexe"をMac上で実行していると思いますが、これには限界があります。システムがCocoaのGUIを提供しているからです。 – user695917

+0

Macの "DLLとexeフォルダ"は、アプリケーションを作成し、すべてのframeworks/dylibをバンドルにコピーし、バンドル内のライブラリがすべてのライブラリ依存関係を満たすように 'install_name_tool'フィックスアップを行います。 'qmake'を使うと.appバンドルを生成し、' macdeployqt'を実行してQtライブラリにコピーします。 VTKとBoostについては、おそらくdylib(おそらくMacPortsで構築)をFrameworksフォルダにコピーしてから、 'install_name_tool'を手動で実行してください。あなたのアプリとVTK/Boostのi386とx86_64の違いに注意してください。 –

関連する問題