반응형

C++ Boost 라이브러리 설치 및 Visual studio 설정 (윈도우용)

 

boost 라이브러리를 설치하고, Visual studio에서 이 라이브러리를 적용해 빌드하는 것을 다루어 보겠습니다. 

 

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

우선 아래 링크에 접속합니다.

https://www.boost.org/

 

Boost C++ Libraries

Welcome to Boost.org! Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work well with the C++ Standard Library. Boost libraries are intended to be widely useful, and usable across a broad spectrum of applications

www.boost.org

접속해서 최신 Release 버전을 클릭하여 아래 페이지가 나오면, windows 용 압축파일을 다운로드 합니다.

압축파일의 용량은 100MB 조금 되지 않습니다.

2. boost 라이브러리 설치 및 빌드

다운로드가 끝났으면, 압축을 풀고 bootstrap.bat을 실행시킵니다. 

실행을 시키면 아래와 같이 코드를 생성하고 컴파일을 합니다. 

 

위 과정이 끝나면 b2.exe 파일이 생성됩니다. 

이 파일을 실행하여 boost 라이브러리를 빌드합니다. 

빌드되는데 시간이 조금 오래 걸립니다. 

빌드가 완료되면  include 디렉토리와 lib 디렉토리가 출력됩니다 .

- include : E:\Project_Cplus\boost_1_80_0\boost_1_80_0

- lib : E:\Project_Cplus\boost_1_80_0\boost_1_80_0\stage\lib

3. Visual Studio에서 boost 라이브러리 적용

생성된 프로젝트에서 속성창을 open합니다

아래 2 경로를 설정해야 합니다. 

- include : E:\Project_Cplus\boost_1_80_0\boost_1_80_0

- lib : E:\Project_Cplus\boost_1_80_0\boost_1_80_0\stage\lib

 

먼저 include는 C/C++ 일반의 '추가 포함 디렉터리'에서 추가합니다. 

lib는 링커의 일반에서 '추가 라이브러리 디렉터리'를 설정하여 줍니다. 

 

4. boost 라이브러리를 이용한 sample 프로그램 빌드 및 실행

Thread를 사용하는 간단한 프로그램을 작성하여 빌드해봅니다. 

#include <stdio.h>
#include <iostream>
#include <crtdbg.h>

#include <boost/asio/thread_pool.hpp>
#include <boost/asio/post.hpp>

using namespace std;
using namespace this_thread;
using namespace chrono;


void threadTest()
{
    // 반복문을 돌면서 콘솔에 값을 출력한다.
    for (int i = 0; i < 4; i++)
    {
        cout << i << endl;
        sleep_for(microseconds(1));
    }
}

int main()
{
    boost::asio::thread_pool* pool = new boost::asio::thread_pool(1);
    /* 쓰레드 실행 */
    post(*pool, threadTest);
    post(*pool, threadTest);
    post(*pool, threadTest);

    
    pool->join(); // pool 내의 모든 쓰레드가 종료할 때까지 기다린다.
    delete pool; // 메모리 해제
    _CrtDumpMemoryLeaks(); // 메모리 릭체크 함수.
    return 0;
}

그러면 아래와 같이 빌드되고, 실행되는 것을 볼 수 있습니다.

반응형

+ Recent posts