본문 바로가기

C++/Boost

Boost 라이브러리 설치

[1. 개요]

Boost 라이브러리를 이용한 애플리케이션 개발을 위한

boost 라이브러리 설치 및 개발 환경 구축에 대한 내용을 기술한다.

 

소스코드 빌드를 통한 라이브러리 설치는 나중에 다루도록 한다.


[2. Windows]

boost 라이브러리 설치를 위해 아래 사이트에서 실행 파일을 다운받도록 한다.

https://sourceforge.net/projects/boost/files/boost-binaries/

 

실행파일이름은 아래와 같은 형식을 갖는다.
boost_{version}-msvc-{sdkversion}-{bit}.exe

 

sdk 버전은 visual studio 설치 시 확인 할 수 있는데 아래와 같다.

visual studio 2015 v140
visual studio 2017 v141
visual studio 2019 v142

[3. Linux]

배포 버전에 맞게 apt 또는 yum 을 이용하여 설치하도록 한다.

  • debian
    > sudo add-apt-repository ppa:boost-latest/ppa
    > sudo apt-get update
    > sudo add-apt-repository --remove ppa:boost-latest/ppa
    > sudo apt install libboost-all-dev
    > sudo apt autoremove

    > sudo apt install libboost1.73-dev
    > sudo apt install libboost1.74-dev
    >> update 안될 시, sudo apt remove --purge libboost*

  • redhat
    => 

버전 확인

  1. dpkg -s libboost-dev | grep version
  2. cat /usr/include/boost/version.hpp | grep "BOOST_LIB_VERSION"

[4. cmake]

find_package

find_package(Boost
  [version] [EXACT]      # Minimum or EXACT version e.g. 1.67.0
  [REQUIRED]             # Fail with error if Boost is not found
  [COMPONENTS <libs>...] # Boost libraries by their canonical name
                         # e.g. "date_time" for "libboost_date_time"
  [OPTIONAL_COMPONENTS <libs>...]
                         # Optional Boost libraries by their canonical name)
  )                      # e.g. "date_time" for "libboost_date_time"

 

Hints

  • BOOST_ROOT (※)
    > boost 라이브러리 설치 위치 prefix
  • BOOST_INCLUDEDIR
    > 보통 /include
  • BOOST_LIBRARYDIR
    > 보통 <prefix>/lib
  • BOOST_ADDITIONAL_VERSIONS
    > 사용할 boost 라이브러리 버전 명시
    > ex) 1.73.0 과 같은 형태

 

Other variables

  • Boost_USE_MULTITHREADED
    > Default is ON
    > OFF 로 설정 시 non-multithread 라이브러리를 사용 함
    > 따로 수정하지 않는 게 좋다.
  • Boost_USE_STATIC_LIBS (※)
    > Default is OFF
    > ON 으로 설정 시 정적 라이브러리를 사용 할 것 을 강제함
    > Window인 경우 바이너리 사이즈가 커지더라도, ON 으로 사용하는 것이 더 좋아보임.

 

Result variables

  • Boost_FOUND
    > boost 헤더 및 라이브러리 발견 시 True
  • Boost_INCLUDE_DIRS
  • Boost_LIBRARY_DIRS
  • Boost_LIBRARIES
  • Boost_<COMPONENT>_LIBRARY
  • Boost_VERSION

 

※ Windows 사용 시 주의 사항 ※

Window 에서 Visual Studio 를 대상으로 할 경우 cmake 수행 전 아래와 같은 사전 작업 사항이 필요하다.

(아래는 boost 라이브러리가 x64 용인 것을 대상으로 함)

  1. 사용 할 boost 에 적합 한 SDK 를 사용 하는 Visual studio 설치 경로에서 vcvars64.bat 호출
  2. cmake generator 명시 (-G 옵션)
  3. BOOST_ROOT 명시 (-DBOOST_ROOT)
  4. CMAKE_GENERATOR_PLATFORM 명시 (-DCMAKE_GENERATOR_PLATFORM=x64)

 

리눅스 인 경우 /usr 밑에 boost 가 설치되지 않은 경우, 3번 사항을 준수하도록 해야 한다.