Qt アプリケーションのデプロイ
Qt アプリケーションのデプロイには C++ プログラミングは必要ありません。必要なのは、このドキュメントで説明されている手順に従って、Qt とアプリケーションをリリースモードでビルドすることだけです。
静的ライブラリと共有ライブラリの比較
アプリケーションのデプロイには2つの方法があります:
- スタティックリンク
- 共有ライブラリ(Mac ではフレームワーク)
静的リンクはスタンドアロンの実行ファイルになります。メリットは、デプロイするファイルが数個で済むことです。デメリットは、実行ファイルが大きく柔軟性がないこと(つまり、アプリケーションやQtの新しいバージョンでは、デプロイプロセスを繰り返す必要がある)、そしてプラグインをデプロイできないことです。
プラグインベースのアプリケーションをデプロイするには、共有ライブラリを使用します。共有ライブラリはまた、より小さく柔軟な実行ファイルを提供します。例えば、共有ライブラリアプローチを使用すると、ユーザーはアプリケーションで使用する Qt ライブラリを個別にアップグレードすることができます。
共有ライブラリ・アプローチを使いたいもう1つの理由は、同じQtライブラリを複数のアプリケーションで使いたい場合です。実際、Qt のバイナリをダウンロードすると、共有ライブラリとして Qt が提供されます。
共有ライブラリアプローチの欠点は、デプロイするファイルが増えることです。詳しくは、共有ライブラリの作成 を参照してください。
Qt ライブラリのデプロイ
Qt がシステムライブラリの一部でない限り、アプリケーションと一緒に再配布する必要があります。最低限必要なのは、アプリケーションで使用するライブラリのランタイムを再配布することです。しかし、静的リンクを使えば、Qt のランタイムを実行ファイルにコンパイルすることができます。
一般的に、Qt ビルドで使用するすべてのプラグインを配布する必要があります。
例えば、JPEG サポートや SQL ドライバのためのプラグインをデプロイする必要があるかもしれませんが、アクセシビリティのためのプラグインなど、ユーザーが必要とするかもしれないプラグインもデプロイする必要があります。プラグインの詳細については、Qt プラグインの作成方法を参照してください。
を使用するアプリケーションは、QMLモジュールも出荷する必要があります。 Qt Qmlを使用するアプリケーションも、使用するQML モジュールを配布する必要があります。
共有ライブラリを使ってアプリケーションをデプロイする場合、Qt ライブラリが正しいパスで Qt プラグインやドキュメント、翻訳などを見つけられるようにする必要があります。これを行うには、qt.conf
ファイルを使用します。詳細については、qt.confを使用するを参照してください。
設定によっては、コンパイラ固有のライブラリも再配布する必要があります。詳しくは、X11、Windows、macOSのプラットフォーム固有のアプリケーション依存関係を参照してください。
ライセンス
Qt のライブラリの一部は、Qt と同じデュアルライセンスモデルでライセンスされていないサードパーティのライブラリをベースにしています。そのため、これらのライブラリを使用するアプリケーション、特にアプリケーションが静的にリンクされているアプリケーションをデプロイする際には注意が必要です。詳細については、「Qt で使用されるサードパーティのコード」を参照してください。
QtNetwork の設定によっては、ランタイムに OpenSSL を使用します。OpenSSL ライブラリのデプロイメントには、ライセンスと輸出規制の両方が適用されます。詳細はSecure Sockets Layer (SSL) Classes を参照してください。
プラットフォーム固有の注意事項
Qt アプリケーションをデプロイする手順は、様々なプラットフォームで異なります:
Deploy Translationsも参照してください 。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.