초간단 Boost 빌드 방법 – 1.53.0 + Visual Studio 2012 + Windows 8

BS가 Windows 8에 VS2012를 설치했습니다.
그래서 boost를 다시 빌드하려니 이전 방법 그대로는 안되더라구요.
다시 정리했습니다.

일단 이전 포스트에서 소개했던 [boostpro]!!!

Thank You
After 12 years in business, the principals of BoostPro have decided it’s time for new challenges. …

가서 보시면 알겠지만 구성원들이 FPComplete, Apple 등으로 이직했다는군요.
이제 빌드를 하지 않으면 구할 수 없게 되었습니다!!!???
서론을 마치고 직접 빌드를 해보겠습니다.

  1. 소스받기
    [Boost Libraries]에 가서 최신 버전을 받습니다.
    되도록이면 7z 포맷을 받으세요. 용량이 좀더 작습니다.
  2. 압축 풀기
    원하는 곳에 풀어줍니다.
    BS는 일단 C:\Works\Libraries\boost 라고 했습니다. 이 경로를 기준으로 설명합니다.
  3. b2.exe 만들기

    VS2012 x86 Native Tools Command Prompt를 실행합니다.

    Windows 8을 사용하시는 분은 WinKey + Q를 눌려 VS2012를 검색하시면 됩니다.
    이전 버전이라면 그냥 WinKey 누르면 나오는 검색에서 찾으시면 됩니다.
    아래 명령을 실행합니다.

    CD /D C:\Works\Libraries\boost
    bootstrap.bat

  4. 소스파일 수정
  5. 아직도! 그대로인 내용

    boost_1_53_0/boost/format/alt_sstream_impl.hpp의 176라인의 주석문에 CP949에서 불가능한 문자 포함


    boost_1_53_0/boost/tuple/tuple_io.hpp의 138라인의 const char c가 const CharType c가 되어야 하는 것 아닌지

    그 외의 부분은 BS가 사용하면서 찾지 못했습니다.
    BS가 모든 라이브러리를 사용하는 것이 아니라서요.

  6. 빌드
    BS는 b2.exe로 install 하지 않습니다.
    위에서 압축을 해제한 그 폴더 그대로 사용합니다.
    문서도 보기 편하고 해서요.
    물론 일부는 삭제합니다. 빌드 임시 파일 같은 것들… (bin.v2 디렉토리)
    아래는 boost라이브러리는 static library로 하고, C Runtime Library는 Multi Thread DLL(MTD)을 사용하며
    debug, release 버전을 생성하도록 합니다.

    x86 빌드

    b2 -a –stagedir=x86 variant=debug,release link=static threading=multi stage

    x64 빌드

    b2 -a –stagedir=x64 variant=debug,release link=static threading=multi address-model=64 stage

    당연한 이야기이지만 64비트 빌드를 위해서는 VS2012 x64 Native Tools Command Prompt를 실행해서 빌드해야 합니다.

  7. 기타
  8. Visual Studio 가 여러 버전 설치되어 있다면
    project-config.jam 파일에서

    using msvc ; 을 using msvc : version ; 으로 변경하시면 됩니다.

    예) VS2008
    using msvc : 9.0 ;

참고사항) 위 방법으로는 추가 라이브러리가 필요한 일부 기능이 제한됩니다.
참고사항) 자세한 빌드 방법이 궁금하시다면 우선 b2.exe –help 부터
참고사항) [Visual C++ 관련 문서]