Boost 라이브러리 빌드 스크립트

부스트 라이브러리 빌드 방법에 관한 글은 이미 많이 있지만 부스트 파이썬(boost.python)을 빌드할 일이 생겨 해 본 김에 간단히 정리해 본다.

부스트 라이브러리 기능 대부분은 빌드하지 않고 헤더 파일만으로 사용할 수 있지만 일부는 빌드를 해야 한다. 목록은 명령창에서 다음을 실행해 확인할 수 있다.

제대로 빌드하려면 zlib, bzip, MPI, ICU 등 추가 라이브러리를 준비해야 하고, 그 라이브러리도 동적 또는 정적 링크에 따라 미리 컴파일해 둬야 하는 것도 있지만 부스트 파이썬만 필요하기에 모두 무시했다. 부스트 라이브러리는 이미 빌드한 바이너리를 배포하므로 사용하는 환경에 맞으면 받아 쓰는 게 편하다.

하지만 배포 중인 것은 파이썬 2.7로 빌드한 것이므로 3.x에 맞춰 쓰려면 직접 빌드해야 한다. 여기서는 파이썬 배포본 중 하나인 미니콘다(또는 아나콘다) x64 버전을 사용 중이라 가정하고, 부스트 라이브러리를 x86과 x64 버전 두 가지로 빌드할 수 있도록 설명한다.

부스트 파이썬 라이브러리를 빌드하려면 사용하는 파이썬의 헤더와 라이브러리가 있어야 한다. 파이썬 x64 버전을 이미 사용하고 있으므로 x86용을 받으려면 명령 창에서 다음처럼 한다.

이렇게 하면 미니콘다 설치 경로가 C:\Programs\Miniconda3 일 때 C:\Programs\Miniconda3\envs\py36_x86에 x86용 파이썬 가상 환경을 구성한다. x64용은 기존 것을 사용해도 되지만 여기서는 py36_x64로 새로 구성했다. 이제 파이썬 정보를 참조할 수 있도록 설정한다.

마지막 세미콜론에 주의한다. 파이썬 정보 설정을 user-config.jam 파일 하나에 모두 설정하고 <address-model>로 구분하는 방법을 설명하는 글도 있지만 실제로 잘 되진 않았다. 따로 만드는 게 확실하다.

배치 파일은 순전히 입력 편의를 위한 것이므로 편한 대로 하자. 중요한 것은 --user-configaddress-model 옵션이다. x64 버전용을 빌드할 때 x64용 Visual Studio 명령 창을 연 후 실행하도록 설명하는 글도 있지만 그럴 필요 없다. Visual Studio를 제대로 설치 했다면 일반 명령창에서 실행해도 알아서 만든다. 참, Visual Studio 버전이 2015가 아니라면 toolset 옵션을 맞춰야 한다. 나머지 옵션은 도움말을 참고하자.

배치 파일과 설정 파일을 부스트 라이브러리 루트 디렉터리에 넣고 실행하면 <boost_root>\lib 디렉터리에 x86과 x64로 나눠 라이브러리를 만든다. 부스트 라이브러리를 사용할 때는 이 라이브러리와 <boost_root>\boost 디렉터리에 있는 헤더 파일만 있으면 된다.

직접 입력하는 수고를 덜려면 저장소에서 받자.

 

17.3.31. 추가

모든 링크 방식을 포함해 빌드하도록 조금 수정했다. 물론 저장소에도 반영.

 

17.5.12. 추가

지난번에 스크립트를 수정하면서 address-model을 제외했으나 x64용을 빌드할 때는 꼭 넣어야 한다. 그렇지 않으면 Boost.python을 빌드할 때 호스트와 대상 플랫폼이 일치하지 않는다며 파이썬 라이브러리를 링크하지 못 할 수 있다. 위 스크립트는 물론 저장소에도 반영.

You may also like...