boost 라이브러리는 유명한데 써본적이 없습니다. 그래서 한번 써볼려고 시도해보고 여기 정리해봅니다.
일단 최신버전으로 다운로드를 합니다.
저는 STLport와 마찬가지로 “C:Program FilesMicrosoft Visual Studio 9.0boost_1_39_0” 경로에 설치를 했습니다.
시작->프로그램그룹->Microsoft Visual Studio 2008->Visual Studio Tools 에서 Visual Studio 2008 Command Prompt를 실행합니다. cd명령으로 boost 폴더로 이동합니다.
ex) C:Program FilesMicrosoft Visual Studio 9.0boost_1_39_0
boost를 컴파일 하기 위해선 bjam 이라는것이 필요합니다.
boost_1_39_0toolsjam 폴더에 있는 Build_dist.bat를 실행합니다.
그러면 뭔가 작업을 하더니 위와 같이 나오게 됩니다.
C:Program FilesMicrosoft Visual Studio 9.0boost_1_39_0toolsjamstagebin.ntx86bjam.exe
위 링크의 bjam.exe파일을 (여기 경로는 시스템에 따라 다를수 있습니다)
C:Program FilesMicrosoft Visual Studio 9.0boost_1_39_0
폴더로 옮겨줍니다.
여기까지 진행됬다면 다음 옵션을 붙여서 컴파일을 시작합니다.
bjam --build-dir="C:Program FilesMicrosoft Visual Studio 9.0boost_1_39_0work" --build-type=complete stage --toolset=msvc
옵션 설명
–build-dir=”컴파일 작업폴더경로” <==이건 컴파일 끝나면 필요없어요.
–build-type=빌드 타입
–toolset=컴파일 타입 (볼랜드 컴파일러는 borland GNU컴파일러면 gcc)
컴파일 하는데 시간이 꽤 걸렵니다. 하드는 약 4기가 이상 필요하고 제 PC는 브리즈번 5200에 램 4기가 였는데 컴파일에 약 2시간 30분 걸렸습니다.
#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; } }
이건 테스트용 소스입니다.
답글 남기기