2011-08-02 16 views
0

Qtでダイナミックとスタティックのコンパイルという用語を使いました。いくつかの違いを説明することができ、どのように実際に行われます。Qtプラグインを静的に動的にコンパイルする方法

+1

... 2.を好みます。 Qt 4を静的にリンクする方法http://www.formortals.com/how-to-statically-link-qt-4/ –

+0

返信いただきありがとうございます。 – Tharanga

答えて

1

まず、動的プラグインをdllとしてコンパイルし、静的プラグインを静的ライブラリとしてコンパイルする必要があります。静的なためそう

プロジェクトファイルに次のようなものを追加

CONFIG *= staticlib # 

ダイナミックバージョンは、プラグインをコンパイルするように指定、ちょうど標準のdll、すなわち

CONFIG *= dll 

第二次のとおりです。

CONFIG *= qt plugin 

どのような違いがありますか?

  1. ダイナミックプラグインはDLLです。プラグインディレクトリに作成されます。プラグインディレクトリは、アプリケーションの実行時にアプリケーションパスになければなりません。
  2. スタティックプラグインは、アプリケーションにリンクする必要があります(通常、プロファイル内のQTPLUGINマクロを使用します)。これは、アプリケーションをデプロイするときに簡単に忘れてしまいます(サムネイルなしで終了する可能性があります)。 libs * = plugin_nameの構文を使用して静的プラグインライブラリをリンクするだけでも動作します。

それはあなたのビルド環境をより細かく制御できますし、アプリの展開に少ないバギーを作るので、私は、このリンクをチェックアウト

関連する問題