컴퓨터 공학/Qt

[ Qt 프로그래밍 ]정적 빌드 하는법

혼새미로 2015. 11. 26. 19:27
반응형

코드를 다 짜고 컴파일이 제대로 된걸확인하고나서 다른컴퓨터에서 파일을 실행하면 dll파일이 존재하지 않는다는 에러가 발생하는것을 Qt나 Visual Studio에서 프로그램 개발한 분들은 한번씩 경험해 봤을거라고 생각합니다. 정적빌드는 필요한 dll파일을 exe파일안에 내장시키기 때문에 에러가 발생할 염려가 없습니다. 정적빌드를 하는 방법을 알아보겠습니다.

 

1. C:\Qt\4.8.4\mkspecs\win32-g++ 에서 qmake.conf 텍스트로 오픈

2. QMAKE_LFLAGS  = -static                로 수정후 저장하고 닫기

3. qt prompt 창 오픈

4. configure -platform win32-g++ -static -release -no-exceptions    입력 후 엔터

5. o누르고 엔터, y 누르고 엔터 (10분정도 소요)

6. 완료되면 mingw32-make sub-src        입력 후 엔터 (한시간 넘게 소요)

7. qt creator에서 프로젝트 생성 후 pro 파일에 CONFIG += static 추가

8. release 모드로 컴파일 가능

 

--여기 까지 하면 일단 정적빌드는 완료입니다. 아래는 실행파일 용량 줄이는 방법입니다.

 

upx391w.zip

 

1. 첨부파일을 다운받아 압축을 풉니다.

2. 다음을 입력합니다.

C:\[upx실행파일있는 폴더]\upx.exe -9 -o "C:\[임의 폴더]\원하는실행파일명.exe" "C:\[컴파일한 실행파일 경로]\최적화할실행파일.exe"            입력후 엔터

3. 임의 폴더에 원하는 실행파일명으로 실행파일이 하나 생성되있을 것이며, 사용하지 않는 코드를 삭제시켜 용량을 낮춰줍니다.

반응형