태그 : boost

boost 설치 방법

boost 설치 방법


1. 인스톨러 다운로드
설치 방법에는 소스 코드를 이용한 빌드 방법과 인스톨러를 이용한 설치 방법이 있는데, 윈도우즈 환경에서는 인스톨러를 이용하는 것이 편하다고 한다.

다운로드 파일 주소: http://www.boost-consulting.com/download/windows


2. 실행 및 설치
인스톨러를 실행한 후, "Select Default Variants" 단계에서 컴파일러 종류와 설치할 라이브러리 종류(Variants)를 선택한다.

라이브러리는 몽땅 선택하는 것이 속 편할 듯 싶다.


3. 계속 진행하면 알아서 다운로드하고 설치한다.


4. Visual Studio에서 include와 library 디렉토리를 추가해주고 난 후, boost 설명서에 나온 샘플 코드를 컴파일해서 확인해 본다.

디폴트로 정적(static) 링크를 하게 된다고 한다. 따라서, DLL 형태의 boost 라이브러리를 사용하려면 매크로 정의를 해줘야 한단다. BOOST_라이브러리이름_DYN_LINK 형태의 매크로를 정의하면 된다.

만약, regex 라이브러리를 사용한다면, BOOST_REGEX_DYN_LINK 라는 매크로를 정의한 후 컴파일 하면 된단다.

참고 URL: http://docs.huihoo.com/boost/1-33-1/more/getting_started.html


5. 컴파일
[샘플 코드: example.cpp]

#include <boost/regex.hpp>
#include <iostream>
#include <string>

int main()
{
    std::string line;
    boost::regex pat( "^Subject: (Re: |Aw: )*(.*)" );

    while (std::cin)
    {
        std::getline(std::cin, line);
        boost::smatch matches;
        if (boost::regex_match(line, matches, pat))
            std::cout << matches[2] << std::endl;
    }
}


예 1) 명령행에서 정적 링크를 하는 경우(컴파일러: VC 7.1(VS2003) 일 때)

c:\Temp>cl /EHsc /DBOOST_LIB_DIAGNOSTIC /MD /I"c:\program files\boost\boost_1_35_0" example.cpp /link /LIBPATH:"c:\program files\boost\boost_1_35_0\lib"
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.6030 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

example.cpp
Linking to lib file: libboost_regex-vc71-mt-1_35.lib
Microsoft (R) Incremental Linker Version 7.10.6030
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:example.exe
"/LIBPATH:C:\Program Files\boost\boost_1_35_0\lib"
example.obj


생성 파일 크기: 94,208


예 2) 명령행에서 동적 링크를 하는 경우(컴파일러: VC 7.1(VS2003) 일 때), /MD 옵션을 꼭 써야 한다.
c:\Temp>cl /EHsc /DBOOST_REGEX_DYN_LINK /DBOOST_LIB_DIAGNOSTIC /MD /I"c:\program files\boost\boost_1_35_0" example.cpp /link /LIBPATH:"c:\program files\boost\boost_1_35_0\lib"
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.6030 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

example.cpp
Linking to lib file: boost_regex-vc71-mt-1_35.lib
Microsoft (R) Incremental Linker Version 7.10.6030
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:example.exe
"/LIBPATH:C:\Program Files\boost\boost_1_35_0\lib"
example.obj


생성 파일 크기: 12,800

by 돌멩이 | 2008/07/13 22:46 | C, C++ | 트랙백(1)

◀ 이전 페이지다음 페이지 ▶