1. 우선은 boost홈페이지에서 파일을 받아다가 압축을 푼다.
다운 사이트는 여기: https://www.boost.org/users/download/
Boost Downloads
Current Release Version 1.78.0 December 8th, 2021 03:45 GMT Updated Libraries: Asio, Assert, Atomic, Beast, Core, Describe, DLL, Filesystem, Geometry, JSON, Lambda2, Log, Math, MultiIndex, Multiprecision, Nowide, PFR, Predef, Regex, System, Utility, Varian
www.boost.org
압축을 푸는 위치는 아무데도 상관없으나, 영어이름으로, 최대한 루트드라이브와 가까운 곳에 푼다.
나는 C:\Develop\boost_1_78_0\ 에다가 풀었음
2. 컴파일러의 버전을 체크한다.
빈 콘솔 프로젝트를 만들어서 _MSC_VER 변수값을 출력하게 만든 다음에 결과값을 아래 사이트에서 체크하면 된다.
https://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B
Microsoft Visual C++ - Wikipedia
From Wikipedia, the free encyclopedia Jump to navigation Jump to search Integrated development environment product by Microsoft Visual C++Developer(s)MicrosoftInitial releaseFebruary 1993; 29 years ago (1993-02)[1]Stable release14.31.31103 / February 16
en.wikipedia.org
3. 비주얼스튜디오용 커맨드프롬프트를 관리자권한으로 실행시킨다.
4. 1번 항목에서 압축을 풀은 폴더에서 bootstrap.bat을 실행시킨다.
5. 바로 윗 항목을 실행시키면 해당 폴더에 b2.exe가 생성되는데 이걸 아래와 같은 옵션을 넣어서 실행하여 라이브러리를 빌드한다.
b2.exe toolset=msvc-14.3 variant=debug,release link=static threading=multi address-model=64 runtime-link=shared
여기서 주의할건 14.3이라는 말인데, 이건 stage\lib폴더에서 확인할 수 있다.
2번항목에서 찾은 버전과 다소 차이가 날 수 있는데, 이쪽을 따르는 것이 시행착오를 줄일 수 있다.
또, 만약에 쓰는 컴퓨터가 32비트 컴퓨터면 64를 32로 바꿔줄 것.
6. 성공적으로 빌드가 끝나면 인클루드경로랑 라이브러리 경로를 추가하라고 메시지가 나온다.
이걸 굳이 그대로 소스코드나 프로젝트 설정에 적어줘도 되지만, 다수의 프로젝트를 사용할 경우에 대비하여 시스템 환경변수로 등록해준다.
내 경우는 인클루드 경로를 BOOST_ROOT라고 지정해주었다.
7. 만들고자 하는 프로젝트에서 인클루드 경로와 라이브러리 경로를 추가해준다.
우선은 인클루드 경로
그 다음은 라이브러리 경로인데, 5번항목에서 스크린샷을 보면 인클루드경로에서 조금만 손을 봐주면 되기에 그렇게 추가해주었다.
8. 이제 이 프로젝트에서는 boost라이브러리를 사용할 수 있다. 다른 프로젝트에서도 사용하고 싶다면 똑같이 추가해주기만 하면 된다.
Boost라이브러리의 기능중 function이라는 것을 사용해서 함수포인터 비슷한 동작을 하게 만들어봤는데, 잘 작동한다.
다음은 boost::function과 boost::bind에 대해 공부해보고 포스팅을 해봐야겠다.
https://arikalog.hateblo.jp/entry/2013/09/28/011734
【C++ / Boost】boost::bindについての適当まとめ - 中の下の上の真ん中あたり
何語だこれ…状態になったのでメモしておきます。
arikalog.hateblo.jp
참고사항: boost라이브러리가 설치된 visual studio의 컴파일러를 인식하지 못하더라도 이를 교정해서 인식시키는 방법이 있는 듯 하다.
https://github.com/boostorg/build/issues/735
Building Boost 1.77 using Visual Studio 2022 preview (working solution) · Issue #735 · boostorg/build
Building Boost 1.77 using Visual Studio 2022 fails when using Boost files from the repository as is. I have made building work with Boost 1.77, but it requires a few changes to the Boost files in o...
github.com
내가 지금은 boost라이브러리가 msvc14.3을 인식하기에 별다른 문제가 없었지만, 만약 그렇지 않는다면 참고해도 괜찮을 것 같다.