아래 두 글을 참고했는데 에러가 나서 ㅡㅡ;;
수정한 부분만 추가함,,
boost 1_75 설치, : 네이버 블로그 (naver.com)
[C/C++] 윈도우10 Boost 최신버전 설치 및 사용법 (tistory.com)
크게 세가지 인데,,
1. 그냥 cmd나 powershell에서는 msvc를 못찾음,,
찾게 해주는 방법이 있겠지만 귀찮으니 패스하고,,
x64 Native Tools Command Prompt for VS 2019를 관리자 권한으로 열어서 빌드 명령어를 입력함.
Developer PowerShell for VS 2019로 해도 상관없음.
2. --toolset=msvc-14.21 --> 14.2
빌드후 생성되는 lib, dll의 이름에 msvc 버전번호가 들어감(예: vc1421). 그런데 애플리케이션 코드를 빌드해 보면 vc142가 포함된 lib를 못 찾는다고 링크에러가 뜸. 또 bootstrap.bat 실행시 toolset을 vs142로 인식함. 그래서 14.2로 수정함.
3. stagedir=./stage\lib64에서 에러남,,
빌드후 생성되는 lib, dll이 복사되는 폴더임. 디폴트로 .\stage\lib이기 때문에 생략함. 32bit는 빌드 안할꺼라서,, ㅋㅋㅋ
최종 빌드 명령은,,
b2.exe -j8 -a --toolset=msvc-14.2 variant=debug,release link=static,shared threading=multi address-model=64
j: 사용할 cpu 코어 설정
a: 전체 리빌드
toolset: 빌드에 사용할 툴셋
variant: 빌드 타입
link: 라이브러리 타입
threading: sigle 혹은 multi 쓰레딩 바이너리
address-model: help에는 안나오는데 타겟 아키텍처인듯,,
빌드가 진행되고 마지막에 아래 메시지가 뜨면 성공,,
The Boost C++ Libraries were successfully built!
The following directory should be added to compiler include paths:
[설치경로]\boost_1_75_0
The following directory should be added to linker library paths:
[설치경로]\boost_1_75_0\stage\lib
============================================================================
cmake 프로젝트를 구성해서 Boost를 활용하려면 CMakeList.txt에 다음 변수들을 설정하면 됨.
set (Boost_ROOT "[설치경로]")
set (Boost_LIBRARY_DIR "[설치경로]/stage/lib")
set (Boost_INCLUDE_DIR ${Boost_ROOT})
include_directories(${Boost_INCLUDE_DIR})
link_directories(${Boost_LIBRARY_DIR})
target_link_libraries(${PROJECT_NAME} ${Boost_LIBRARIES})
stackoverflow.com/questions/20969280/find-package-doesnt-detect-boost-on-windows-cmake
요거 보고 하긴 했는디,,
시스템변수 설정하는 것만으로는 링크가 안되는지 링크에러가 발생함.
왜 그런지는 차차 업데이트 하기로 하고,,,
아무튼 여기까지 하면 Boost를 사용할 수 있음.
'공부 > 프로그래밍' 카테고리의 다른 글
[CMake]mingw makefile 생성을 위한 환경변수 설정 (0) | 2020.12.23 |
---|---|
[VTK 8.2.0] Qt관련 모듈 포함 시 QPainterPath 헤더 추가 (1) | 2020.12.23 |
[Eigen] QtCreator CMake 프로젝트를 위한 Eigen 설치 및 설정 (0) | 2020.12.17 |
[MFC] 16진수 -> 10진수 변환 (0) | 2015.07.21 |
[OpenGL] OpenGL 설치 in W7, 설정 in VS2010 (0) | 2012.12.29 |