이미 관련된 글을 남긴적이 있지만 조금 더 알게된것이 있고 장황하지 않고 짧게 기록하기위해 남기는 글. 콘솔 등 자잘한 내용은 기존의 글을 참조할 수 있으니 넘어가고 필요한 최소한의 내용만을 남긴다. (이전 글에서 문자열 ‘--
‘은 ‘–‘로 치환되어 표시되고있으니 주의필요. 언젠가 수정할…지도?)
환경 및 빌드 대상
– Visual Studio Community 2019
– Boost 1.78.0
– 소스위치: D:\OpenSource\boost_1_78_0
– 설치위치: D:\OpenSource\boost
Boost Bootstrap
1. D:\OpenSource\boost_1_78_0\tools\build
폴더로 이동
2. bootstrap.bat
실행
3. b2 install --prefix=D:\OpenSource\boost
실행
4. D:\OpenSource\boost_1_78_0
폴더로 이동
환경변수 변경set PATH=%PATH%;D:\OpenSource\boost
명령을 실행하여 설치된 b2의 바이너리 경로를 PATH에 추가
Boost 빌드b2 --build-type=complete toolset=msvc stage
Boost 설치b2 --build-type=complete --prefix=D:\OpenSource\boost toolset=msvc install
Boost 사용
헤더와 라이브러리는 아래와같은 경로를 지정하여 사용하면 된다. 헤더는 버전별 폴더로 구분되어 있고 라이브러리나 dll은 파일명에 버전 넘버가 붙어있으니 다른 버전의 boost를 동일한 경로로 설치해도 헤더 경로만 사용하고 싶은 경로를 지정하여 사용하면된다.
헤더 경로: D:\OpenSource\boost\include\boost-1_78
라이브러리 경로: D:\OpenSource\lib
기타
1. 빌드와 설치를 개별 명령으로 실행하면 시간적으로 손해를 본다. 그냥 바로 Boost 설치 명령을 실행해도 된다.
2. --build-dir
옵션을 넣으면 stage 파일의 위치를 변경할 수 있다. 대신 Boost 빌드와 Boost 설치 실행 시 아래와같이 --build-dir
값을 동일하게 입력해야한다.
b2 --build-dir=D:\OpenSource\boost_build\1_78_0 --build-type=complete toolset=msvc stage
b2 --build-dir=D:\OpenSource\boost_build\1_78_0 --build-type=complete --prefix=D:\OpenSource\boost toolset=msvc install
3. --prefix
없이 설치하면 기본위치는 C:\Boost
이다.
4. Boost 소스폴더에서 b2 --help
를 실행하면 --layout
옵션을 볼 수 있다. 별별짓 다 해봤지만 윈도 환경에서는 기본값인 versioned
로 빌드하여 설치하는게 가장 정신건강에 이롭다. 다른 값으로 빌드하면 헤더나 라이브러리 링크에서 정신건강에 해로울것이다.
5. 언제부턴가 32비트와 64비트 라이브러리가 기본적으로 함께 빌드되도록 변경된거같다. 특정 플랫폼만 대상으로 빌드한다면 address-model=32 또는 address-model=64 옵션을 함께 사용하면 된다. (toolset과 마찬가지로 --
없이 address-model이다.)
6. 더 자세히 알고싶으면 이곳 Boost의 문서를 참조.
7. (추가) boost 빌드 시 시스템에 깔린 최신 버전의 MSVC를 사용하여 빌드되는것으로 보인다. 특정 버전의 MSVC를 대상으로 빌드하려면 MSVC 2019 기준 toolset=msvc-14.2
와 같이 지정하면 되며 boost 1.81 기준 버전 넘버는 이곳 Boost Build 문서를 참조.