QT 5.0.2 로 업그레이드 하고 아직 프로젝트에는 적용해보진 못하고 테스트 중인 상태인데.  


QT Installer 1.3  버그때문에  QT Installer를 다시 빌드하려고 하다보니.


 먼저  QT 5.0.2를 소스를 가져다 빌드를 했다.


   QT는 상용 라이센스와 LGPL 라이센스를 적용하고있는데.  LGPL라이센스를 사용하는 경우에는 DLL링크만 허용하고 있어 Static 빌드 Library를 쓸일이 없지만 .  QT Installer 는 LGPL 라이센스 이면서 QT Library를  Static Build가 되어있는 구조라 QT Installer 를 재빌드 하려면 어쩔수 없이 QT를 Static Build 한뒤에 QT Installer 를 빌드해야 해서.  이런 상황이 된다.  (인스톨러 특성상 하나의 실행파일로 떨어져야 하기때문에...)


어째든 QT SDK 5.0.2 를 빌드하려고 하는데.  오픈소스 빌드가 그러하듯 수차례... 빌드 실패 후 겨우 성공하게 되서 정리해 본다.


먼저 필요한 것들 정리하기


1. Perl 설치 

   기존설치된 Perl이 없다면  

ActivePerl http://www.activestate.com/activeperl/downloads  에서 (x64버전) 다운로드 설치


2. Python 설치

   V8.lib를 빌드하기 위해서는 python 이 필요하다.  

ActivePython http://www.activestate.com/activepython/downloads  에서 다운로드(2.7.x x64버전 ) 설치 



1. OpenSSL static 빌드 준비

    2.1  OpenSSL  Library Source

         http://www.openssl.org/source/openssl-1.0.1e.tar.gz

         압축해제 경로 - > C:\DEVTOOL\qt5build\openssl-1.0.1e_src


    2.2  nasm 어셈블러 

   http://www.nasm.us/ 에서 다운로드 링크로 가서 최신버전 다운로드

 여기서는 아래 링크의 zip 파일을 내려받음

         http://www.nasm.us/pub/nasm/releasebuilds/2.10.07/win32/nasm-2.10.07-win32.zip

  

        다운로드 받아 압축해제 

                   설치경로-->C:\DEVTOOL\qt5build\nasm-2.10.07


    2.3 OpenSSL 빌드하기 

         2.3.1 MSVC 2012 용 x86 네이티브 도구 명령 프롬프트 실행


         2.3.2 NASM 경로 PATH 추가

                   SET PATH=%PATH%;C:\DEVTOOL\qt5build\nasm-2.10.07


         2.3.3 configure 실행   (C:\=C:\DEVTOOL\libs\openssl 경로에 설치시)

                  > CD C:\DEVTOOL\qt5build\openssl-1.0.1e_src

                  > perl Configure VC-WIN32 --prefix=C:\DEVTOOL\libs\openssl -MT

                  > ms\do_nasm

         2.3.4 빌드 및 설치

                  > nmake -f ms\nt.mak

> nmake -f ms\nt.mak test

                  > nmake -f ms\nt.mak install 


        2.3.5 설치결과확인
                  C:\DEVTOOL\libs\openssl



2. ICU static Build


빌드 방법은 2가지 인데.. Cygwin 환경에서 빌드하는경우 MSVC 2008 이하에 대해서


   ICU 는 기본적으로 바이너리는 동적 빌드 버전만 제공하고 있어서 static 빌드를 하려면 소스를 내려 받아 새로 빌드 해야함.

http://www.npcglib.org/~stathis/blog/2012/06/17/windows-task-build-the-icu-library-for-32-bit-and-64-bit/


위 링크에 가면 .bat 파일로 빌드하기 편하게 만들어놓은 배치파일이 있음. 이를 활용하면 되는데. Cygwin은 별도로 받아서 설치가 필요하다. (해당 페이지에있는 Portable Cygwin은 구버전이라 설치 되지 않았다.)


MSVC2010 이상이면  MSVC에서 

 <ICU>\source\allinone\allinone.sln   (솔루션)파일을 열어 원하는 형식으로 빌드해주면 간단히 끝난다.





3. QT 5.0.2 SDK 소스 다운로드및  MSVC2012 준비 하기  

   소스 리파지토리에서 Git  clone으로 받을 수 도 있겠지만. 확인해보지 못했고,

   윈도우용 QT SDK를 빌드하려면  아래 경로에서 받은 소스파일 묶음을 받아 진행했다.

   http://download.qt-project.org/official_releases/qt/5.0/5.0.2/single/qt-everywhere-opensource-src-5.0.2.zip

( 참고로 다른  *.tar.gz 파일을 받을 경우 configure.exe 가 없는 등 해당 압축은 윈도우환경에서  빌드 문제가 있음)

여기에서는 [C:\qt5build\qt-everywhere-opensource-src-5.0.2] 경로로 압축 해제된것으로 한다.


 - 3.1 MSVC 2012 준비 

    MSVC는  C:\MSDEV\MSVC2012P 와 같은 띄어쓰기 없는 경로에 설치할 것을 권장한다.  그래야 나중에 다른 관련 빌드를 하는데 문제가 발생하지 않는다. (그렇지 않으면 좀 고생할 수 도 있음)


 - 3.2 MS Direct X SDK (2010 June 버전) 빌드 준비 (Optional)

    Direct X 는 빌드 옵션에 따라 필요 할 수 도 있다.

    설치시에는  MSVC와 마찬가지로  C:\MSDEV\DIRECTX_SDK  와 같은 띄어쓰기 없는 경로에 설치하기 바람.



4. 빌드하기 


  4.1  MSVC  CMD 프롬프트 실행


MSVC를 이용한 빌드를 하려면 관련 환경변수값 (PATH등)이 필요한데. MSVC가 설치된 프로그램목록에서 [VS2012용 개발자 명령 프롬프트]를 실행시켜 주면된다.


 4.2 관련 CMD 프롬프트 에서 관련 PATH 추가 

 

SET PATH=%PATH%;C:\qt5build\jom;C:\qt5build\libs\openssl\bin


SET LIB=%LIB%;C:\qt5build\libs\openssl\lib;C:\qt5build\libs\icu-51-1\libs\lib

SET INCLUDE=%INCLUDE%;C:\qt5build\libs\openssl\include;C:\qt5build\libs\icu-51-1\libs\include


4.3 configure.bat 실행


configure.bat -prefix c:\qt502_static -static -debug-and-release -platform win32-msvc2012 -developer-build -opensource -confirm-license -nomake tests -make-tool jom -openssl -nomake examples -nomake tools -nomake tests  -opengl desktop


4.4 컴파일과 링크   (멀티코어사용)


jom -j 8



+ Recent posts