본문 바로가기

공부

Windows10 에서 Boost Library 빌드하기

공식 사이트 : http://www.boost.org/


1. 다운로드 현재 최신버전은 1.65.1

화면 가운데  "Download"를 클릭하면 리눅스 버전 / 윈도우 버전 골라서 받을 수 있음









2. 다운 받은 파일을 압축 풀고 로컬에 압축 해제 그리고 bootsrtap.bat 실행

"bootstrap.bat"라는 배치파일을 실행하면 "b2.exe", "bjam.exe"라는 파일이 생성됨






3. 그런데 에러로그 파일 뱉으면서 빌드가 중단됨... 로그파일을 살펴보자



..중략

C:\Users\Account\Source>cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib /Febootstrap\yyacc0 yyacc.c 

yyacc.c

c1: fatal error C1083: 소스 파일을 열 수 없습니다. 'yyacc.c': No such file or directory




bat 파일을 실행시킨 폴더는 C:\Boost\boost_1_65_0 인데 
C:\Users\Account\Source> 라는 폴더에서 빌드를 실행하고 있었다.

C:\Users\Account\Source> 라는 폴더에 별 내용도 없고

bat 파일을 살펴보니 빌드 전에 폴더 경로가 존재하는지 살펴보는게 있어서

그냥 이 폴더를 지우고 다시 bootstrap.bat 파일을 실행시키니 정상적으로 b2, bjam이 생성된다.

(다른 자료를 찾아보니 빌드에 필요한 파일들을 모두 "C:\Users\Account\Source> "에 옮겨놓고 빌드해도 잘 된다고 했다.)






4. b2로 직접 빌드

아까 bat 파일 열어두었던 창에 .\b2 라고 입력하면 빌드를 시작한다. 





5., 꽤 오랜 시간이 지나면 빌드가 다 되는데

잘 빌드가 되었는지 버전을 확인하고 가자


만약에 VS2017을 사용중이고 boost의 버전이 1.65라면

아래 커맨드 창처럼

libboost_wave-vc141-mt-gd-1_65.lib

파일이 1개 복사되었다고 뜬다. 

VS 버전을 여러개를 사용하는 경우에 이걸 꼭 확인하자





추가 .


b2 파일 빌드할때 "toolset"이라는 옵션을 설정하면 x86/x64 와 VS 버전을 설정할수 있다. 


  ※ 32bit (x86) 빌드 커맨드 예시 (2013일 때)

  b2 --toolset=msvc-12.0 variant=debug,release address-model=32 threading=single,multi runtime-link=static,shared


  ※ visual studio 버전별 숫자

 - VS2008 : vc9.0

 - VS2010 : vc10.0

 - VS2012 : vc11.0

 - VS2013 : vc12.0

 - VS2015 : vc14.0

 - VS2017 : vc14.1




빌드 참 잘 된다. 이제 아래 적힌대로


프로젝트 속성에 가서 

include path에 "C:\boost_1_65_0"를 추가하고

library path에 "C:\boost_1_65_0\stage\lib"를 추가해주자