http://warmz.tistory.com/904 Mac에서 빌드 방법을 참고 했습니다.

 

제가 사용한 linux OpenSUSE 12.3 64Bit, Boost 라이브러리 1.53 버전입니다.

 

1. Boost 라이브러리 다운로드 후 압축 풀기

 

2. 터미널에서 압축을 푼 디렉토리로 이동 후 아래처럼 입력

$ ./bootstrap.sh

 

3. 생성된 b2를 사용하여 Boost 라이브러리 빌드하기

$ ./b2 toolset=gcc link=static threading=multi address-model=64

 

빌드가 끝나면 Boost 라이브러리 디렉토리 안의 stage/lib 디렉토리에 빌드 릴리즈용 lib 파일 생성.


./b2 toolset=gcc link=static threading=multi address-model=64 variant=debug
./b2 toolset=gcc link=static threading=multi address-model=64 variant=release



 


 

b2의 옵션 설명

출처: https://sites.google.com/site/boostjp/howtobuild

 

toolset

하나의 머신에 서로 다른 종류의 컴파일러가 인스톨 되어 있는 경우는 toolset 명령어로 지정할 수 있다. 예를 들면:

borland  : Borland사의 컴파일러

dmc          : Digital Mars사의 컴파일러

darwin    : Apple에서 손을 댄 gcc 컴파일러(Mac OS)

gcc            : GNU 프로젝트에 의한 컴파일러

intel         : Intel사 컴파이럴

msvc         : Microsoft사 컴파일러

로 지정할 수 있다. msvc-9.0 (Visual C++ 2008), msvc-10.0 (Visual C++ 2010)와 같이 버전 지정도 할 수 있다.

 

link

이것은 static, shared 라이브러리를 만들지를 지정하는 명령어

link=static,shared

와 같이 사용한다.

lib, dll (Windows)

a, dylib (Mac OSX)

a, so (Other Systems)

와 같은 라이브러리 파일을 생성한다.

 

threading

multi: 멀티 스레드 라이브러리 생성

single: 싱글 스레드 라이브러리 생성.

 

variant

debug: 디버그 빌드를 생성

release: 릴리즈 빌드를 생성

 

 

 

 

아래의 글도 아주 좋습니다

(한글)Install boost library for Linux

http://gilgil.net/?document_srl=7273


LLVM

./b2 toolset=clang linkflags="-stdlib=libc++" cxxflags="-std=c++11 -stdlib=libc++"



boost 1.54.0 library 설치

http://pururoong.tistory.com/36

by 흥배 2013. 6. 10. 08:00
  • 호준 2013.10.19 20:59 ADDR EDIT/DEL REPLY

    궁금한게있습니다.
    bjam과 b2는 컴파일 옵션이 기록된 파일을 파싱하여 자동으로 컴파일해주는 프로그램인가요?
    그리고 b2가 좀더 최신인것같은데 bjam 보다 더 편리하고 컴파일속도가 빠르거나 그러한 장점도 있는건가요?
    bjam 이나 b2 아무옵션없이 걍 더블클릭만 해도 컴파일이 되는것같은데 이렇게 하면 가장 기본적인것만 생성되는건가요?

    • 흥배 2013.10.20 21:34 신고 EDIT/DEL

      1. 네 일종의 배치파일 이라고 생각해도 좋을 것 같습니다.
      2. 제가 bjam을 사용한 기억이 별로 없어서 서로간에 장단점을 비교하기는 어렵네요
      3. 그냥 더블클릭도 해본적이 없지만 제 생각에 아마 가장 기본적인 설정으로 빌드할 것 같습니다.

  • 호준 2013.10.21 15:29 ADDR EDIT/DEL REPLY

    궁금했는데 흥배님 답변감사합니다 ^^