리눅스에서는 기본 옵션이 아래처럼 된다.

link=static,shared threading=multi variant=release


본인은 아래와 같이 빌드했다. 

(OpenSUSE가 64비트라 그런지 기본으로 64비트로 빌드 되었다._

./bootstrap.sh

./b2 toolset=clang link=static,shared cxxflags="-std=c++11 -stdlib=libstdc++" linkflags="-stdlib=libstdc++" threading=multi


저작자 표시
신고
by 흥배 2014.01.27 08:00

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.06.10 08:00

[ Windows ]

Boost 라이브러리 빌드 및 설치 - VC++ (VS2012, Boost 1.53)

http://warmz.tistory.com/903


boost 간단 설치기 (Windows환경)  - VS 2010 중심

http://blog.naver.com/ykish/100188390123


Boost 64비트로 빌드하기

http://blog.naver.com/lunu/100160768950



VS2008에서 Boost 빌드하기

http://blog.naver.com/dbwls0105/30069044946


버전 별로 이미 빌드된 라이브러리 배포하는 사이트

http://boost.teeks99.com/bin/




[ Mac ]

Boost 라이브러리 빌드 및 설치 - Mac 

http://warmz.tistory.com/904



Linux ]

(한글)Install boost library for Linux 

http://www.gilgil.net/7273




[ Android ]

Android NDK를 사용한 boost library 빌드 방법

http://imhallower.blog.me/90169489876





ps: 

일본 Boost 라이브러리 사이트의 빌드 글

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

저작자 표시
신고
by 흥배 2013.06.06 21:30

대부분의 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 |

티스토리 툴바