'mingw32'에 해당되는 글 1건

  1. 2015.09.17 QT static build with mingw32

QT static build with mingw32

QT 2015. 9. 17. 13:52

웬만한건 이미지 파일에 묶어서 배포를 해서 따로 배포할 일이 없었지만..

별도 프로그램을 배포할 일이 생김 (상업용이 아니기 때문에 본인은 라이센스 문제에 해당되지 않았음)
따라서 번거로운 install 이나 별도 파일 배포를 막기 위해 정적 빌드를 알아봄

1. 동적 빌드는 qt 사이트에서 mingw32, sdk 및 qtcreator 로 작업해왔다면 별도의 설명은 하지 않겠음.
2. 정적 빌드
 - 1. 동적 빌드에서의 필수 구성 요소들이 설치되어 있다면 기존 버전과 같은 qt-everywhere... 소스 파일을 받아둔다.
 - 경로는 어디든 상관 없으나 본인 qt 설치 경로 아래에 static 이라고 두면 찾기 쉬움.
 - qt-everywhere.. 압축 파일을 C:\Qt\static 같은 곳에 푼다. 압축 파일의 이름으로 풀린 폴더 이름을 변경하였다.
 - 먼저 mingw32-make.exe 의 위치를 환경 변수에 등록 해준다. (본인은 C:\minGW32\bin 임)
 - cmd 창을 열고 static 폴더로 가서 README 와 INSTALL 파일을 읽어본다. 자세한 설명이 없다.
 - 바로 configure 를 해서 빌드하면 기존과 같은것이니 우리가 필요한 정적 precompile 환경을 만들도록 옵션을 주자.
   \> configure.exe -release -opensource -static -fast -no-qt3support -no-opengl -no-vcproj -no-phonon -no-audio-backend -no-declarative -nomake examples -nomake demos
 - 옵션은 configure.exe -help 를 치면 상세히 나온다. 나같은 경우 phonon 이 필요한데 저 옵션을 당연히 빼야겠지?
 - 예제가 필요하면 -nomake exmaples 를 빼면 된다. 본인이 찾는 qt 에서 제공하는 라이브러리는 help에서 나온 옵션에
 웬만하면 다 있다고 보면 된다. (무려 300라인이 넘어가서 여기 붙이진 않는다.)
 - configure 가 끝나면 mingw32-make sub-src 치면 빌드를 시작한다. (i7 - ssd - 16GB 인데도 한시간 넘게 걸림)
 - 본인은 에러가 안나서 어떤 삽질을 하지말라고 얘기를 못해주겠다. 문제가 있었으면 댓글 바람.
 - 이게 끝나고 나면 qtcreator 에서 어떤 Qt version 및 Tool chain 으로 할지 설정해서 빌드하면 끝이 난다.
 - 테스트는 release 모드로 놓고 빌드하고 생성된 실행 파일을 단독으로 실행해보면 된다.
  (qtcreator에서 run이 아니고 파일 경로로 가서 직접 실행)
 - 뭔가 오류가 나거나 이름을 모르겠다 싶으면 기존 qt project를 참조해보면 된다.
 - 가령 본인 mkspec 정확한 명칭을 모르겠다? qtcreator 에서 Tools > Options > Build & Run > Tool Chains 에서
본인이 사용 중인 Tool chain 을 선택해보면 제일 아래에 나온다. 
 
========================================================================
추가)
phonon 추가가 안됨.. static/src 쪽에 있는 3dparty 및 phonon 문제 추적 중..


========================================================================
추가)
http://doc.qt.io/qt-4.8/configure-options.html 에 가보면 -help 로 나오는 것보다 더 자세히 설명되어 있음.

-phononCompile the Phonon module.Phonon is built if a decent C++ compiler is used. This option denotes a default value and needs to be evaluated. If the evaluation succeeds, the feature is included.

evaluted.. 라이선스를 획득해야 하는 것으로 보임.

'QT' 카테고리의 다른 글

undefined reference to 'vtable for...'  (0) 2016.05.19
반투명 그릴 때 배경 잔상 문제  (0) 2016.05.11
libwinpthread 가 계속 동적 빌드만 될 때  (0) 2016.04.28
디버깅 매크로  (0) 2016.04.19
QByteArray 의 reserve() vs resize()  (0) 2016.03.18
Posted by 독뽀
,