출처: https://seanpaulskin.tistory.com/entry/부스트-라이브러리Boost-Library-VC과-MinGW-컴파일Compile-하기 [:: 스킨 테스트 블로그 :: HTML5 / XHTML / HTML / CSS]
1. 부스트 라이브러리 최신 버전이나 필요한 버전을 다운 받는다.
- 이 글 작성시 부스트 최신 버전 : 1_58_0
부스트 공식 홈( http://www.boost.org ) 또는 SourceForge 다운로드 http://sourceforge.net/projects/boost/files/
컴파일을 하지 않고 바로 사용 할려면 컴파일된 x32, 또는 x64 파일을 다운 Boost_1_58_0-bin-msvc-all-32-64.7z 1.3GB (x32, x64 비주얼 스튜디오 모든 버전 포함)
|
Visual Studio 2013 크로스 컴파일러를 설치하면
여러 가지 커맨드 프롬프트 제공 합니다. ( Itanium 버전은 인텔의 개발 중지 발표로 생략)
x64 크로스 Tools 명령 프롬프트에서는 x86환경에서 x64 컴파일 가능.
x86, x64 네이티브에서는 각 각 x32 , x64 컴파일 가능.
*** 미리 컴파일된 버전을 사용하지 않고 직접 컴파일해서 사용 하고자 한다면 ***
Boost 라이브러리는 두가지 방법으로 컴파일 할 수 있는데, 1. 헤더 파일과 라이브러리를 생성하는 방법 처음 설치 한다면 헤더(Header)와 라이브러리(Library)가 필요 하므로 install 옵션을 쓰고 추가적으로 라이브러리(Library)가 필요하다면 stage를 쓰면 됩니다. |
부스트 라이브러리 루트 폴더에 boostrap.bat 실행해서 b2.exe와 bjam.exe를 생성 합니다.
2개다 같은 일을 하지만 여기서는 b2.exe으로 설명 합니다.
b2 [options] [properties] [install|stage] |
VS 2013 기준(msvc-12.0), VS 2012 : msvc-11.0)
--stagedir (라이브러리 파일이 있는 stage 폴더내에 복사
--libdir을 지정 해주면 원하는 폴더로 복사( --libdir="C:\Boost\lib" )
--includedir 위 와 마찬가지( --includedir="C:\Boost\include" )
-j n - CPU 멀티 코어 사용 ( n : 코어 갯수 지정 )
x32 라이브러리
/MT, /MTd (멀티 스레드 릴리즈, 멀티 스레드 디버그) : 정적 라이브러리 생성( .LIB ) b2 --stagedir=stage32 --toolset=msvc-12.0 -j 4 runtime-link=static
/MD, /MDd (멀티 다이나믹, 멀티 다이나믹 디버그 ): 동적 라이브러리 생성( .DLL ) b2 --stagedir=stage32 --toolset=msvc-12.0 -j 4 runtime-link=shared |
x64 라이브러리
/MT, /MTd (멀티 스레드 릴리즈, 멀티 스레드 디버그) : 정적 라이브러리 생성 b2 --stagedir=stage64 address-model=64 --toolset=msvc-12.0 -j 4 runtime-link=static
/MD, /MDd b2 --stagedir=stage64 address-model=64 --toolset=msvc-12.0 -j 4 runtime-link=shared |
컴파일 결과파일 이름(Naming) 규칙
- lib 접두사 - Win32에서 Static 라이브러리에 붙음.
- boost - 접두사 모든 파일 앞에 붙음.
- vc120 - 비주얼 스튜디오 버전별로( 2012 : vc110, 2010 : vc100 )
- mt - Shared 멀티 스레드용(multi-threading) 릴리즈 버전
- mt-gd Shared 방식으로 멀티 스레드용(multi-threading) 디버그 버전
- mt-s Static 방식으로 릴리즈
- mt-sgd Static multi-threading 디버그 버전
- 1_58 - 부스트 버전.
- .lib - 확장자
컴파일 예제 :
C:\Boost에 Visual Studio 2013버전 x32, x64 디버그, 릴리즈
싱글, 멀티스레딩(정적, 동적 라이브러리)를 멀티코어 4개로 컴파일
b2 --libdir="C:\Boost\lib" --libinclude="C:\Boost\include" --toolset=msvc-12.0 variant=debug,release address-model=32,64 threading=single,multi -j 4 runtime-link=static,shared |
컴파일 결과 : C:\Boost\Lib, C:\Boost\Include 생성 lib 폴더내에 .lib, .dll 파일 생성
'Tensorflow Deep-Learning' 카테고리의 다른 글
[BOOST] 파이썬과 C++의 동거. (numpy array 데이터 공유) (1) | 2020.06.10 |
---|---|
[BOOST] 파이썬과 C++의 동거(데이터 공유) (0) | 2020.06.10 |
[텐서플로] MNIST 관련 4가지 예제 한꺼번에 (tensorflow 1.x) (0) | 2020.06.06 |
[텐서플로] MNIST 관련 코드 실행 오류 발생시 조치 (WIN10) (0) | 2020.06.06 |
[텐서플로] csv파일 읽어 softmax로 분류하는 코드(V1.x) (0) | 2020.06.05 |