[C/C++] 윈도우10 Boost 최신버전 설치 및 사용법
Boost Library Download and Build
C++ 필수 라이브러리 중 Boost Library에 대해 설치 및 사용법을 정리합니다. Boost는 공식 홈페이지에서 다운로드 가능하며, 주기적으로 업데이트가 되고 있습니다.
https://www.boost.org/users/download/
Boost 1.70.0
현재까지 나와있는 최신 릴리즈 버전은 boost 1.70.0 버전입니다.
아래 Downloads 중 Windows의 압축 파일을 다운로드합니다.
압축 해제 또는 설치
라이브러리의 크기가 작지 않기 때문에 시간이 아주 오래 걸리니 처음 압축 해제할 위치를 개발 시 참조할 위치로 정해야 합니다. 안 그러면 파일을 이동하는 시간도 무시무시하게 걸려요 다운로드할 땐 200MB
도 안되지만 압축 해제 후 빌드까지 하면 10GB
까지 용량이 늘어나니 저장공간도 충분히 필요합니다.
여기서 중요한 주목해야 할 파일이 두 가지가 있습니다.
bootstrap.sh
bootstrap.bat
파일인데요, bootstrap.bat
파일을 실행시켜주게 되면 실제 빌드에 필요한 b2.exe, bjam.exe
파일이 생성되게 됩니다. 이렇게 나온 이유는 플랫폼에 따라 유연하게 라이브러리를 제공하기 위해서 직접 빌드하게 하는 방법을 채택한 것으로 보입니다.
이제 저 실행파일을 이용해서 라이브러리를 빌드할 차례입니다.
Visual Studio 2019 Boost Build
CMD
창을 열어서 아래와 같이 옵션을 사용하여 빌드를 시작합니다.b2 -j4 -a --toolset=msvc-14.21 variant=debug,release link=static threading=multi address-model=32 lib32
b2 -j4 -a --toolset=msvc-14.21 variant=debug,release link=static threading=multi address-model=64 lib64
MSC 1.0 _MSC_VER == 100
MSC 2.0 _MSC_VER == 200
MSC 3.0 _MSC_VER == 300
MSC 4.0 _MSC_VER == 400
MSC 5.0 _MSC_VER == 500
MSC 6.0 _MSC_VER == 600
MSC 7.0 _MSC_VER == 700
MSVC++ 1.0 _MSC_VER == 800
MSVC++ 2.0 _MSC_VER == 900
MSVC++ 4.0 _MSC_VER == 1000 (Developer Studio 4.0)
MSVC++ 4.2 _MSC_VER == 1020 (Developer Studio 4.2)
MSVC++ 5.0 _MSC_VER == 1100 (Visual Studio 97 version 5.0)
MSVC++ 6.0 _MSC_VER == 1200 (Visual Studio 6.0 version 6.0)
MSVC++ 7.0 _MSC_VER == 1300 (Visual Studio .NET 2002 version 7.0)
MSVC++ 7.1 _MSC_VER == 1310 (Visual Studio .NET 2003 version 7.1)
MSVC++ 8.0 _MSC_VER == 1400 (Visual Studio 2005 version 8.0)
MSVC++ 9.0 _MSC_VER == 1500 (Visual Studio 2008 version 9.0)
MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010 version 10.0)
MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012 version 11.0)
MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013 version 12.0)
MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015 version 14.0)
MSVC++ 14.1 _MSC_VER == 1910 (Visual Studio 2017 version 15.0)
MSVC++ 14.11 _MSC_VER == 1911 (Visual Studio 2017 version 15.3)
MSVC++ 14.12 _MSC_VER == 1912 (Visual Studio 2017 version 15.5)
MSVC++ 14.13 _MSC_VER == 1913 (Visual Studio 2017 version 15.6)
MSVC++ 14.14 _MSC_VER == 1914 (Visual Studio 2017 version 15.7)
MSVC++ 14.15 _MSC_VER == 1915 (Visual Studio 2017 version 15.8)
MSVC++ 14.16 _MSC_VER == 1916 (Visual Studio 2017 version 15.9)
MSVC++ 14.2 _MSC_VER == 1920 (Visual Studio 2019 Version 16.0)
MSVC++ 14.21 _MSC_VER == 1921 (Visual Studio 2019 Version 16.1)
만약 다른 옵션이 궁금하다면 --help 옵션을 통해서 확인이 가능합니다.
b2.exe --help
이제 빌드를 시작하게 되면 정신과 시간의 방에서 빌드가 됩니다...
당신은 지금 이 글을 이틀째 보고 있는 게 아닐까 조심스럽게 예상해봅니다!
자! 그럼 이제 빌드가 끝났을 테니 visual studio에서 사용할 수 있도록 적용합니다.
Visual Studio Import Setting
Boost Library를 사용하기 위해선 lib 경로를 추가해주고, header를 include 해주어야 합니다.
TIP Boost Library 경로를 프로젝트마다 C:\xxx, D:\xxx 등으로 입력하게 되면 환경이 바뀌었을 때 또 프로젝트 설정을 변경하는 등의 번거로움이 따르게 되기 때문에 전 시스템 환경변수를 이용하는 것을 선호하는 편입니다.
Visual Studio에서도 위와 같이 환경변수의 이용이 가능합니다. 저렇게 설정하게 되면 앞으로 boost 버전이 변경되거나, 개발 PC의 변경, Boost Library 위치가 변경되더라도 환경변수 하나만 변경하면 바로바로 적용할 수 있게 되므로 확실히 번거로움이 줄어들게 될 거예요
저는 경로가 조금 다르게 설정되어있지만 위의 순서대로 하셨다면 %BOOST_ROOT%\stage\
에서 Platform Win32와 Win64를 나누어서 적용하시면 됩니다.
중요 32bit와 64bit는 lib가 다르기때문에 Configuration, Platform 설정에서 Debug, Release, Win32, Win64 각각 설정해주셔야 합니다.
위와 같이 라이브러리 링크가 완료되었으면 필요한 header를 include 해서 사용하면 됩니다.
만약 boost::asio를 사용하는 경우 다음과 같이 boot/asio.hpp를 include 하게 되면 lib는 추가가 되어있기 때문에 바로 사용이 가능합니다.
#include <boost/asio.hpp>
#include <boost/bind.hpp>
#include <boost/shared_ptr.hpp>
TIP boost_1_XX_0\libs\asio\example\ 등 libs에 모든 기능에 대해 example code가 있으므로 참고하시면 좋습니다.
이제 Boost Library를 이용하여 멋진 개발을 해보세요!
'⌨ DEVELOPMENT > C++' 카테고리의 다른 글
[MFC] Dialog Load GIF image (5) | 2019.07.28 |
---|---|
[C++] How to use GDIPlus Library in c++ (0) | 2019.07.28 |
[MFC] 다이얼로그의 윈도우 소멸자 호출 순서 (1) | 2019.07.28 |
[C/C++] string wstring format 사용하기 (1) | 2019.07.27 |
[C/C++] URL 전달을 위한 urlencode & urldecode (1) | 2019.07.11 |
[C/C++] process crash 로그 및 덤프 남기기 (access violation) (0) | 2019.07.06 |
[C/C++] convert string, wstring, utf-8 (9) | 2019.07.06 |
[C/C++] 작업표시줄 아이콘 깜빡이게 하기 (FlashWIndow) (0) | 2019.07.03 |
댓글
이 글 공유하기
다른 글
-
[MFC] 다이얼로그의 윈도우 소멸자 호출 순서
[MFC] 다이얼로그의 윈도우 소멸자 호출 순서
2019.07.28 -
[C/C++] string wstring format 사용하기
[C/C++] string wstring format 사용하기
2019.07.27 -
[C/C++] URL 전달을 위한 urlencode & urldecode
[C/C++] URL 전달을 위한 urlencode & urldecode
2019.07.11 -
[C/C++] process crash 로그 및 덤프 남기기 (access violation)
[C/C++] process crash 로그 및 덤프 남기기 (access violation)
2019.07.06