대부분의 boost 라이브러리는 원하는 기능의 헤더 파일을 포함하면 사용할 수 있지만 OS의 기능을 사용하는 것들은 빌드를 해야 합니다.

 

저는 boost 라이브러리 1.50을 다운로드 받아서

E:\Dev\CommonLib\boost_1_50_0

디렉토리에 압축을 풀었습니다.

 

먼저 빌드 실행 파일을 만들기 위해서 위의 디렉토리에서 bootstrap.bat 를 실행합니다.

 

디렉토리에 b2.exe와 bjam.exe 파일 두개가 만들어졌습니다.

저는 이중 bjam.exe를 사용하여 빌드를 하였습니다. 참고로 예전에는 bjam.exe를 사용하였으나 근래에는 b2.exe로 넘어가는 추세입니다.

 

제 컴퓨터에는 VC10과 VC11(RC 버전)이 있는데 기본적으로 가장 최신의 VC를 대상으로 빌드를 하는 것 같습니다.

물론 옵션을 지정하면 VC 버전이나 64비트, 빌드 출력 디렉토리도 지정할 수 있습니다.

 

옵션으로 디렉토리를 지정하지 않으면 라이브러리 파일은 stage\lib 디렉토리에 생성됩니다.

 


추가

위의 방식으로 하면 '런타임 라이브러리 정적 링크' 라이브러리(빌드 후 만들어지는 lib 파일에 -sgd 가 붙는)가 만들어 지지 않습니다.

그래서 저는 다시 b2.exe 파일을 사용하여 빌드를 했습니다.

b2.exe 명령어를 사용할 때 옵션으로 -prefix (빌드 라이브러리가 생성될 디렉토리)를 붙이지 않으면 이상한 곳에 만들어질 수 있으니 꼭 붙여야 합니다.

저는 stage/lib 디렉토리에 만들어지게 하고 싶어서 다음과 같이 했습니다.

b2 -prefix=.\stage\lib --toolset=msvc runtime-link=static

예)
VS 2005
/MT, /MTd
b2 -prefix=.\stage\lib --toolset=msvc-8.0 runtime-link=static 

/MD, /MDd
b2 -prefix=.\stage\lib --toolset=msvc-8.0 runtime-link=shared


VS 2012
/MT, /MTd
b2 --stagedir=stage --toolset=msvc-11.0 runtime-link=static 

/MD, /MDd
b2 --stagedir=stage --toolset=msvc-11.0 runtime-link=shared

64비트
/MT, /MTd
b2 --stagedir=stage64 address-model=64 --toolset=msvc-11.0 runtime-link=static 

/MD, /MDd
b2 --stagedir=stage64 address-model=64 --toolset=msvc-11.0 runtime-link=shared




빌드 방법 참고 

1. Boost 라이브러리 빌드 링크 모음 
http://jacking.tistory.com/1068


2. (일본어) http://blog.goo.ne.jp/nourea/e/8028f3c519e881dac5885575e4a0a96f

3. Boost 빌드 http://lunapiece.net/Article/27356

신고
by 흥배 2012.07.31 09:00
| 1 |