Qt

[Windows] Qt 배포 하는 방법

sangjun-pro 2022. 4. 25. 15:01

Qt 로 프로그램을 만든 이후 exe 파일을 실행하면 각종 .dll 파일이 없어 실행이 되지 않는다.

예시 libstdc++-6.dll

 

Static Build를 이용하여 배포하는 방법도 있으나 라이센스 문제로 인해

DLL 파일을 자동으로 모아주는 방법을 공유한다.

 

아래 파일을 수정 후 배치 파일로 만든뒤 exe파일이 있는 곳에서 실행 ( ex, deployqt.bat ) 

 

@echo off

REM "Set FileName"
Set filename="qt_test_console.exe"  // Program name
echo -- filename: %filename%

REM "Set Current Path"
Set CurPath="%~dp0"
echo -- filePath: %CurPath%

REM "Set FileName Include Path"
Set FileNamePath=%CurPath%%filename%
Set FileNamePath=%FileNamePath:""=%
echo -- FileNamePath: %FileNamePath%

REM "Set deployqt path"
Set deployqt="C:\Qt\6.2.3\mingw_64\bin\windeployqt" // windeployqt 위치
echo -- deployqt: %deployqt%
 
REM "Set Path Qt libraries path."
REM set path= %path%; C:\Qt\6.2.3\mingw_64\bin;C:\Qt\Tools\mingw900_64\bin // Qt bin 위치

set path=C:\Qt\6.2.3\mingw_64\bin;C:\Qt\Tools\mingw900_64\bin // Qt bin 위치
echo -- Path: %path%

REM "RUN~"

IF exist %FileNamePath% (
	echo  found. %FileNamePath%
) else (
	 echo  Not found.!!! %FileNamePath%
	 goto :quit
)

echo Run: %deployqt% %FileNamePath%
%deployqt% %FileNamePath%


:quit
SET /P P=Press any key continue:

 

실행시 아래와 같이 cmd 창이 실행되며 필요한 dll 파일을 모아준다.

 

이후 .exe 파일을 실행시켜보면 동작한다.

배포시에는 추가된 폴더 및 dll 파일을 함께 압축하면 된다.