Qt
Qtアプリケーションの導入
サーチ…
Windowsへの展開
QtはWindows用の展開ツールwindeployqt
を提供しています。このツールは、Qtモジュールへの依存関係のために実行可能なQtアプリケーションを検査し、検査された実行可能ファイルを実行するのに必要なQtファイルを含む展開ディレクトリを作成します。考えられるスクリプトは次のようになります。
set PATH=%PATH%;<qt_install_prefix>/bin
windeployqt --dir /path/to/deployment/dir /path/to/qt/application.exe
set
コマンドは、Qtのbin
ディレクトリをPATH
環境変数に追加するために呼び出されます。 windeployqt
が呼び出されます:
- デプロイメントディレクトリへのパスには、オプションの引数
--dir
(デフォルトはwindeployqt
が呼び出されるパス)が与えられます。 - 検査される実行可能ファイルへのパスは、最後の引数として与えられます。
デプロイメントディレクトリを実行可能ファイルにバンドルすることができます。
注意:
Windows上でvs2013で事前コンパイルされたQt5.7.0を使用している場合(すべてのバージョンにこの問題があるかどうか不明) 、 <QTDIR>\5.7\msvc2015\qml
をbinディレクトリに手動でコピーする必要があります。あなたのプログラム。それ以外の場合、プログラムは起動後に自動的に終了します。
Qtのドキュメントも参照してください。
CMakeとの統合
CMakeからwindeployqt
とmacdeployqt
を実行することは可能ですが、まず実行ファイルへのパスを見つける必要があります:
# Retrieve the absolute path to qmake and then use that path to find
# the binaries
get_target_property(_qmake_executable Qt5::qmake IMPORTED_LOCATION)
get_filename_component(_qt_bin_dir "${_qmake_executable}" DIRECTORY)
find_program(WINDEPLOYQT_EXECUTABLE windeployqt HINTS "${_qt_bin_dir}")
find_program(MACDEPLOYQT_EXECUTABLE macdeployqt HINTS "${_qt_bin_dir}")
windeployqt
がインストールされた場所でQtライブラリを見つけるためには、フォルダを%PATH%
追加する必要があります。ビルド後にmyapp
という名前のターゲットに対してこれを行うには:
add_custom_command(TARGET myapp POST_BUILD
COMMAND "${CMAKE_COMMAND}" -E
env PATH="${_qt_bin_dir}" "${WINDEPLOYQT_EXECUTABLE}"
"$<TARGET_FILE:myapp>"
COMMENT "Running windeployqt..."
)
バンドル上でmacdeployqt
を実行macdeployqt
には、次のようにします。
add_custom_command(TARGET myapp POST_BUILD
COMMAND "${MACDEPLOYQT_EXECUTABLE}"
"$<TARGET_FILE_DIR:myapp>/../.."
-always-overwrite
COMMENT "Running macdeployqt..."
)
Macでの展開
Qtは、Mac用の展開ツールであるMac Deployment Toolを提供しています。
Macデプロイメントツールは、 QTDIR/bin/macdeployqt
ます。プライベートフレームワークとしてQtライブラリを含む展開可能なアプリケーションバンドルを作成するプロセスを自動化するように設計されています。
mac配備ツールは、以下のルールに従って(Qtプラグインもデプロイします( -no-pluginsオプションを使用しない限り)。
- プラットフォームプラグインは常に展開されます。
- デバッグバージョンのプラグインはデプロイされません。
- デザイナープラグインは展開されていません。
- 画像フォーマットプラグインは常に配備されています。
- 印刷サポートプラグインは常に展開されます。
- アプリケーションがQt SQLモジュールを使用する場合は、SQLドライバプラグインがデプロイされます。
- アプリケーションがQtスクリプトモジュールを使用する場合、スクリプトプラグインがデプロイされます。
- アプリケーションがQt SVGモジュールを使用する場合、SVGアイコンプラグインがデプロイされます。
- アクセシビリティプラグインは常に配備されています。
サードパーティのライブラリをアプリケーションバンドルに含めるには、バンドルが作成された後でライブラリをバンドルに手動でコピーします。
macdeployqt
ツールを使用するには、ターミナルを開いて次のようにmacdeployqt
ます。
$ QTDIR/bin/macdeployqt <path to app file generated by build>/appFile.app
appファイルには、プライベートフレームワークとして使用されるすべてのQtライブラリが含まれるようになりました。
macdeployqt
は次のオプションもサポートしています
オプション | 説明 |
---|---|
-verbose = <0-3> | 0 =出力なし、1 =エラー/警告(デフォルト)、2 =正常、3 =デバッグ |
-no-plugins | プラグインの配置をスキップする |
-dmg | .dmgディスクイメージを作成する |
- ストリップなし | バイナリで 'strip'を実行しないでください |
-use-debug-libs | フレームワークとプラグインのデバッグバージョンでデプロイする(-no-stripを暗示する) |
-executable = | 与えられた実行可能ファイルに、デプロイされたフレームワークも使用させる |
-qmldir = | .qmlファイルで使用されるインポートを指定されたパスに展開する |
詳細な情報はQtドキュメントに記載されています
Linux上でのデプロイメント
GitHubにはLinux用のデプロイメントツールがあります 。完璧ではありませんが、それはQt wikiからリンクされています。それは概念的にQt Mac Deployment Toolに基づいており、同様にAppImageを提供することで機能します。
デスクトップファイルにAppImageを提供する必要がある場合、linuxdeployqtはlinuxdeployqt
を使用してビルドのパラメータを決定します。
linuxdeployqt ./path/to/appdir/usr/share/application_name.desktop
デスクトップファイルで実行する実行ファイル ( EXEC=
)、アプリケーションの名前、およびアイコンを指定します。