[Visual Studio][boost c++] [C++] boost 설치 및 visual studio 설정 

본 문서는 소스 코드를 이용해 boost 라이브러리를 빌드하고 비주얼 스튜디오와 연동하는 방법에 대해 다루고 있다.

1. 비주얼 스튜디오 설치

윈도우에서 boost를 설치하기 위해서는 비주얼 스튜디오의 cl.exe가 필요하다. 이미 설치되어 있다면 다음 장으로 바로 진행 해도 된다. 만일 아직 비주얼 스튜디오가 설치 되지 않은 상태라면 먼저 [여기]에서 비주얼 스튜디오를 다운 받고 설치하도록 한다.

2. boost 다운로드

boost 라이브러리는 https://www.boost.org/의 다운로드 페이지에서 다운로드 할 수 있다. 이 글을 쓰는 시점엔 1.76.0버전이 최신인데 처음 부스트를 접하는 사람이라면 최신 버전을 다운 받길 권한다. 필자의 경우는 zip으로 쉽게 압축을 풀기 위해 boost_1_76_0.zip를 다운 받았다.

 

 

웹사이트에서 직접 다운 받는 방법 말고도 윈도우10의 PowerShell을 통해 커맨드를 이용해 다운로드 받을 수도 있다. 물론 다운로드 주소는 알고 있어야 한다.

 
 

Invoke-WebRequest https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.zip -OutFile boost_1_76_0.zip

3. 압축 풀기

다운로드가 완료 되면 압축을 해제한다. 인터넷에 무료로 제공되는 여러 압축해제 프로그램이 있으므로 무엇을 사용하던지 관계는 없다. 필자의 경우는 윈도우 PowerShell의 tar를 이용하여 압축을 해제 했다.

PS C:\Users\Administrator\Downloads> tar -xf .\boost_1_76_0.zip -C "./"

4. bootstrap.bat 실행

압축 해제 된 boost 디렉토리로 이동하여 bootstrap.bat를 실행한다. 파일 탐색기에서 마우스로 더블 클릭해도 되고 필자 처럼 PowerShell에서 커맨드로 실행해도 된다.

PS C:\Users\Administrator\Downloads\boost_1_76_0> .\bootstrap.bat

결과로써 b2.exe, bjam.exe 파일이 만들어진다. 

5. b2.exe 실행

이제 실제 boost 라이브러리를 빌드 하는 순서다. boost는 기본적으로 헤더만 include하면 되는 헤더 기반 라이브러리지만 몇몇 라이브러리는 별도 빌드가 필요하다. 빌드가 필요한 라이브러리들에 대한 자세한 사항은 [여기]를 참고한다.

단순히 b2.exe를 실행하면 기본 옵션으로 boost 라이브러리를 빌드한다.

PS C:\Users\Administrator\Downloads\boost_1_76_0> .\b2.exe

라이브러리 빌드가 정상적으로 나오면 아래와 같이 include 디렉토리와 lib 디렉토리가 출력 된다. 원하는 위치로 빌드된 라이브러리를 복사해서 옮겨도 상관 없다.

The Boost C++ Libraries were successfully built!

The following directory should be added to compiler include paths:

​​​​C:\Users\Administrator\Downloads\boost_1_76_0

The following directory should be added to linker library paths:

​​​​C:\Users\Administrator\Downloads\boost_1_76_0\stage\lib

만일 비주얼 스튜디오가 이미 여러개 설치 되어 있어 특정 버전을 명시 하고 싶다면 아래와 같이 --toolset 옵션을 통해 컴파일러 버전을 명시해준다. 컴파일러 버전 별 옵션 값은 아래 [부록 1]을 참고 하자.

 
 

.\b2.exe --toolset=msvc-14.2

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

6. 비주얼 스튜디오와 연동

boost 라이브러리의 빌드가 완료 되었으면 이번에는 비주얼 스튜디오 프로젝트에서 boost 라이브러리를 연동 하도록 한다.

  • include : '프로젝트 속성 > 구성 속성 > C/C++ 일반 > 추가 포함 디렉터리'에 boost 헤더 디렉토리의 위치를 지정한다. 아래 예에서는 부스트를 다운로드하고 빌드한 "C:\Users\Administrator\Downloads\boost_1_76_0" 디렉토리를 지정했다.

 

boost include path

 

  • lib : '프로젝트 속성 > 구성 속성 > 링커 > 일반 > 추가 라이브러리 디렉터리'에 boost 라이브러리 디렉토리의 위치를 지정한다. 아래 예에서는 부스트를 다운로드하고 빌드한 "C:\Users\Administrator\Downloads\boost_1_76_0\stage\lib" 디렉토리를 지정했다.

 

boost lib path

 

7. 마치며

이상 C++의 boost 라이브러리를 설치하고 비주얼 스튜디오와 연동하는 방법에 대해 알아 보았다. 아래 부스트 사용 예제를 살펴 보며 포스트를 마치도록 한다.

 
 

#include <boost/regex.hpp> #include <iostream> #include <string> int main() { ​​​​std::string line; ​​​​boost::regex pat("^Subject: (Re: |Aw: )*(.*)"); ​​​​while (std::cin) ​​​​{ std::getline(std::cin, line); ​​​​​​​​boost::smatch matches; ​​​​​​​​if (boost::regex_match(line, matches, pat)) ​​​​​​​​{ ​​​​​​​​​​​​std::cout << matches[2] << std::endl; ​​​​​​​​} ​​​​} }

부록 1. --toolset 옵션

 
 

b2.exe --toolset=msvc-XX.X

  • Visual Studio 2008 v9.0 : msvc-9.0
  • Visual Studio 2010 v10.0 : msvc-10.0
  • Visual Studio 2012 v11.0 : msvc-11.0
  • Visual Studio 2013 v12.0 : msvc-12.0
  • Visual Studio 2015 v14.0 : msvc-14.0
  • Viusal Studio 2017 v15.0 : msvc-14.1
  • Viusal Studio 2017 v15.3 : msvc-14.11
  • Viusal Studio 2017 v15.5 : msvc-14.12
  • Viusal Studio 2017 v15.6 : msvc-14.13
  • Viusal Studio 2017 v15.7 : msvc-14.14
  • Viusal Studio 2017 v15.8 : msvc-14.15
  • Viusal Studio 2017 v15.9 : msvc-14.16
  • Viusal Studio 2019 v16.0 : msvc-14.2
  • Viusal Studio 2019 v16.1 : msvc-14.21

부록 2. boost 다운로드 및 설치 bat 파일

 
 

if not exist "C:\local" mkdir "C:\local" pushd . if not exist ".\boost_1_76_0.zip" powershell -Command "Invoke-WebRequest https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.zip -OutFile boost_1_76_0.zip" if not exist "C:\local\boost_1_76_0" "tar" -xf .\boost_1_76_0.zip -C "C:\local" cd /d "C:\local\boost_1_76_0" if not exist b2.exe call .\bootstrap.bat .\b2 popd

아래 배치 스크립트를 실행하면 boost 1.76.0 버전을 다운 받아 C:\local\boost_1_76_0 위치에 설치한다.

boost_install.bat


출처: https://kukuta.tistory.com/289#google_vignette [HardCore in Programming]

 

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED