Windows 환경에서 Qt 5.7.0 빌드

Qt 4버전대만해도 4.8.6과같이 몇단계씩 꽤나 오랜기간동안 하위버전이 유지되었는데 요즘의 Qt 5는 몇달사이 5.6.1이였다가 뜬금없이 5.7.0으로 하위버전이 업데이트되었다. 대체로 5버전대는 한두번 업데이트 이후 하위버전이 올라가는거같다. 크롬과같이 빠른 변화와 버전업이 이루어지는 정책이 어느정도 Qt측에서도 이루어지고있는건가 싶기도하다.

이번 버전업에는 3D관련 업데이트가 주를 이루는거같으니 그다지 기능상에서의 변화는 없다고봐도 무방할거같다. 여담이지만 5.5버전에서는 frameless window 옵션이 추어진 창에서 HWND 형식의 핸들을 얻기위해 winId() 함수를 위젯에서 호출하게되면 그 이후로는 UI의 업데이트가 발생했을 때에도 화면이 업데이트 안되는 버그가 있었다. (5.6에서인가 버그가 해결되었다.)

직접 빌드하기 전 주의사항으로는 콘솔명령이 익숙하지 않거나 에디터 플러스나 울트라에디터를 사용하지 않는다면 빌드 안하고 홈페이지에서 이미 빌도된 바이너리를 받아서 설치하는게 더 낫다. 직접 빌드하는건 디버깅을 Qt Framework의 모듈 함수 내부까지 해야할 경우말고는 그냥 경험용으로 빌드 해보는것 밖에는 이유가 없다.

여담으로 5.6버전 이전엔 QSql의 ODBC 모듈에서 메모리 누수현상이 있었는데 당시 어디서 누수가 발생하는지 찾기위해 직접 빌드하여 며칠동안 헤맨덕에 원인을 찾고 패치를 재출하고 직접 수정하여 라이브러리를 사용한적이 있었다. 이런 상황이 아니라면 굳이 빌드해야 하는 이유는 없다.

참고로 WebView기능을 재공하는 WebEngine 모듈을 빌드하려면 8기가램 PC인 경우 빌드하길 추천한다. 자체적으로 병렬빌드를 수행하며 워낙 규모가 방대하여 컴파일할 때 파일들이 메모리에 캐싱되어야 느려지지않고, 링크를 할 때 메모리를 3기가 넘게 소모한다.

아래서부터는 과정 및 빌드 방법 Continue reading Windows 환경에서 Qt 5.7.0 빌드

Boost + Visual Studio 환경에서 라이브러리 빌드

Boost 버전: 1.61.0
Visual Studio 버전: Community 2015

Boost는 헤더만 include하면 되는것이 기본이지만 아래와같은 라이브러리는 빌드해야한다.
Chrono, Context, Filesystem
GraphParallel, IOStreams
Locale, MPI, ProgramOptions
Python, Regex, Serialization
Signals, System, Thread, Timer, Wave

아래 라이브러리는 상황에 따라 빌드 필요.
DateTime, Graph, Math
Random, Test, Exception

참고: http://www.boost.org/doc/libs/1_61_0/more/getting_started/windows.html#header-only-libraries
다운로드: http://www.boost.org/users/download/

빌드 방법:

Continue reading Boost + Visual Studio 환경에서 라이브러리 빌드