반응형

 

[Boost] boost 설치 및 visual studio에 설정하여 hello world 출력 - 윈도우 용

 

 

Boost 라이브러리란

Boost는 C++ 프로그래밍 언어를 위한 선형대수, 의사 난수 발생, 멀티스레딩, 영상 처리, 정규 표현식, 그리고 유닛 테스트와 같은 작업들과 구조들을 지원하는 라이브러리들의 집합입니다. Boost 라이브러리는 무료이며, Smart Pointer , Regular Expression, Thread - Mutex 등등 직접적으로 구현하고 안정화 시키기에 오랜 시간을 필요로하는 것을 알고리즘으로 한데 묶어놓아 개발자들이 사용하기 편하도록 API를 제공해줍니다.

 

0. Visual Studio 다운로드

Visual Studio IDE는 아래 경로에서 다운로드할 수 있습니다.

 

https://visualstudio.microsoft.com/ko/free-developer-offers/

 

무료 개발자 소프트웨어 및 서비스 - Visual Studio

무료 제공: Visual Studio Community, Visual Studio Code, VSTS 및 Dev Essentials.

visualstudio.microsoft.com

 

1. Boost 라이브러리 다운로드

아래 링크에 들어가서 윈도우 용 설치파일을 다운로드합니다. 

2022년 3월 9일 기준으로 최신버전은 1.78.0 버전입니다. 

압축파일 용량은 183MB 정도입니다. 

 

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, PFR, Predef, Regex, System, Utility, Variant2. Down

www.boost.org

2. Boost 라이브러리 압축 풀기 및 bootstrap.bat 파일 실행(빌드)

압축을 풀면 아래와 같이 파일이 생성됩니다. 

그 중에 bootstrap.bat 파일을 실행시킵니다.

추가 정보를 눌러 실행합니다.

실행하면 visual studio 폴더를 찾고, 빌드가 시작됩니다. 

한 몇분 지나면 완료되고 cmd 창이 자동으로 종료됩니다.

아래와 같이 b2.exe 파일이 생성된 것을 확인할 수 있습니다.

3. b2.exe 파일 실행하기 (boost 라이브러리 빌드)

b2.exe 파일을 실행시키면 boost 라이브러리 빌드를 시작합니다. 

시간이 좀 오래 걸립니다. 

빌드가 완료되면 cmd 창이 자동으로 종료되고, 아래와 같이 폴더 2개가 생성됩니다.

이제 boost 라이브러리는 준비되었고, Visual Studio에서 Boost 라이브러리를 사용해보도록 하겠습니다.

 

4. Visual Studio에서 새로운 프로젝트 생성 및 boost 라이브러리 추가하기

콘솔 앱으로 프로젝트를 생성해서, 간단하게 boost 라이브러리를 불러왔을 때, 에러없이 빌드가 되는지 확인해보겠습니다.

 

프로젝트가 생성되었으면, 이제 boost 라이브러리를 가져오도록 하겠습니다. 

그럼 프로젝트 > 속성에 들어갑니다. 

속성 페이지에서 2가지를 추가해야 합니다. 

1) include 경로

2) lib 경로

 

 

 

1) include 경로 추가

속성 페이지 > C/C++ > 일반 > 추가 포함 디렉터리에서 boost 경로를 추가해줍니다.

 

2) lib 경로

속성 페이지 > 링커 > 일반 > 추가 라이브러리 디렉터리에서 boost 라이브러리의 경로를 추가해줍니다.

1), 2)를 추가하였으면 적용을 누르고 확인 버트을 누릅니다.

5. boost 라이브러리 추가하고 빌드하기

이제 boost 라이브러리를 사용할 수 있습니다. 

include로 boost/ 를 입력해보면 아래와 같이 사용할 수 있는 라이브러리 header 파일이 자동으로 출력됩니다.

아래와 같이 boost의 lambda api를 사용해보도록 하겠습니다.

아래와 같이 코드를 작성하고 컴파일하면 컴파일 성공된 것을 볼 수 있습니다.

#include <iostream>
#include <boost/lambda/lambda.hpp>
#include <iterator>
#include <algorithm>

int main()
{
    typedef std::istream_iterator<int> in;

    std::cout << "Hello Boost!" << std::endl;

    std::cout << "Type in any number: ";

    std::for_each(
        in(std::cin), in(), std::cout
        << (boost::lambda::_1 * 10)
        << "\nType in another number: ");
}

컴파일이 성공되고, boost의 lambda를 사용한 출력물을 확인할 수 있습니다.

반응형

+ Recent posts