nprogram’s blog

気ままに、プログラミングのトピックについて書いていきます

Qt Creatorを用いた自動deploy方法 (Windows 編)

Qtアプリを配布する場合は、実行ファイル(*.exe)ファイルのみでは実行できません。

アプリで使用しているDLLファイルがないためです。

そこで、DLLファイルをいざ集めようとするとこんなに大量にDLLファイルが必要になります。 <一例>

f:id:nprogram:20170906201055p:plain

そこで、windeployqtを用いて、Qt Creator上で、自動で、DLLファイルを集める方法を用いました。

以下がQt Creatorのプロジェクトのビルド設定です。

コマンド : C:\Qt\5.9.1\tool\deploy.bat

引数 : %{CurrentBuild:Name} %{CurrentProject:Name}

作業ディレクトリ : %{buildDir}

(※コマンドは任意のパスです)

f:id:nprogram:20170906200854p:plain

deploy.batファイルの中身は以下のとおりです。

 if "%1"=="デバッグ" (
set BUILD_MODE=debug
) else (
set BUILD_MODE=release
)

if not exist deploy\nul (
mkdir deploy
)

xcopy /C /Y %BUILD_MODE%\*.exe deploy\
windeployqt --%BUILD_MODE% deploy %BUILD_MODE%\%2.exe

C:\Qt\5.9.1\toolのフォルダは以下のような構成になっております。

f:id:nprogram:20170906194454p:plain

以下のページが参考になります。

qiita.com

WindowsでQtアプリを作る (デプロイ編) - Yahoo!知恵袋