-1

わかりました、私はエンジニア/応用数学の専門家であり、一部のソフトウェアの Linux バージョンに感銘を受けましたが、Mac 用にそれを望んでいました (医師...)。

Mac 用の実行可能ファイルを再配布する方法を教えてもらえますか? Windows を捨てる前のアトミック ソリューションは、一連の DLL を System32 フォルダーにコピーすることでした。いくつかのサブ質問:

1)「sudo macports install XYZ」が表示されます。QT アプリを静的にビルドできますか? または、彼らが QT をインストールしていると仮定して、どうすれば自分のアプリに自分のコンプでそれを見つけてもらうことができますか?

2) Mac 用のアプリケーションを構築するために、VTK + QT + Boost を使用した例があるのではないでしょうか?

漠然とした質問で申し訳ありませんが、何を系統的に検索するかを知っていれば、そうしたでしょう。

4

1 に答える 1

2

Qt+VTK+Boost をアプリに静的にリンクする特定の理由はありますか? Mac では、このようなライブラリの場合、静的リンクが動的リンクよりも望ましい理由は (ライセンスを除いて) 思いつきません。

Bavarious が投稿した "Deploying an Application on Mac OS X" リンクを見てください。Mac アプリがどのようにバンドルに格納され、多数のファイルで構成されたアプリが単一のファイルとしてユーザーに表示されるかについて説明します。ライブラリは、(ヘッダー ファイルと共に) バンドルに格納することもできます。この場合、ライブラリはフレームワークと呼ばれます。必要なフレームワークはアプリ バンドル内に格納できるため、アプリは自己完結型になります。

macdeployqtQt には、Qt フレームワーク (およびプラグイン) を自動的にバンドルにコピーし、(を使用して) アプリ バイナリを修正するというユーティリティが付属しているinstall_name_toolため、ダイナミック リンカーはアプリ バンドルを参照する必要があります。VTK と Boost については、おそらく手動でこれを行う必要があります。これらがフレームワークとして自動的に構築されていない場合、これはより複雑になる可能性があります。これらは人気のあるライブラリですが、VTK/Boost を使用した Mac アプリの展開に関するガイドがインターネット上にあるはずです。

また、この目的で MacPorts を使用して Qt をインストールすることもありません。Nokia から入手できるQt バイナリは問題なく動作し、ユニバーサルです (32 ビットと 64 ビットの両方をターゲットにする必要がある場合に備えて、両方用にビルドされています)。

ところで、私は特に Windows 派というわけではありませんが、System32 に DLL を投入することが、ライブラリを Windows に展開する良い方法だとは思いません。私が作成した Qt アプリでは、Qt DLL (および mingw/gcc DLL) を .exe と同じフォルダーに配置しましたが、問題なく動作しました。

于 2011-10-23T06:44:13.037 に答える