2008/09/17

VC++ 2005 에 boost library 32bit & 64bit 설치하기

사용자 삽입 이미지
정규식 라이브러리도 포함되어있고 그 외에 많은 라이브러리가 포함되어 있다는 boost library가 어떤건지 확인을 하고 싶어서 설치를 해보았다. boost library는 헤더파일만 필요로하는 라이브러리와 몇몇의 컴파일이 필요한 라이브러리로 구성되어 있다. 단순 헤더파일만 이용하는 라이브러리를 사용할 경우 컴파일까지 필요가 없고 그냥 Include 경로만 지정해 주면 사용할 수 있다. Boost.Regex 를 사용하려면 컴파일을 해야한다. 우선 준비물로 boost library 와 boost jam 을 다운로드한다. Boost Library 1.36 http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=8041&release_id=619445 Boost Jam 3.1.6 https://sourceforge.net/project/showfiles.php?group_id=7586&package_id=72941&release_id=558771 Boost Library 를 임의의 경로에 풀어 놓고 Boost Jam 을 Boost Library의 루트에 압축을 푼다. "Visual Studio 2005 x64 Cross Tools 명령 프롬프트" 을 실행하여 도스창을 열고 boost library 루트 경로로 간다.
사용자 삽입 이미지
x64 Cross Tools 명령 포롬프드 단축키
설치 자료를 보면 boost root folder\tools\jam\src\build.bat 을 실행하라고 나오지만 32bit XP에서 실행을 해서인지 에러 메세지가 출력이 되어서 그냥 건너 뛰었다. boost root folder 에서 복사해 놓은 bjam.exe 를 실행하였다. F:\Dev\boost_1_36_0>bjam.exe -sTOOLS=vc-8_0 -sICU_PATH=F:\dev\icu threading=mult i --build-type=complete --prefix=f:\dev\boost32 --without-python --without-mpi install F:\Dev\boost_1_36_0>bjam.exe -sTOOLS=vc-8_0 -sICU_PATH=F:\dev\icu threading=mult i address-model=64 --build-type=complete --prefix=f:\dev\boost64 --without-python  --without-mpi install 32bit 와 64bit를 따로 생성하였는데 각각의 소요시간이 상당히 걸린다.  32bit의 경우 별다른 에러를 발생하지 않았는데 64bit의 경우 중간에 몇몇 64bit 실행화일을 실행함에 있어 실행할 수 없다는 에러메세지가 출력되었다. 이 에러가 최종 라이브러리 생성에 영향을 미치는지는 아직 확인 하지 않았다. 설치를 마치고 Visual C++ 2005 의 환경설정을 바꾸어 주었다. 설치와 환경 설정을 마치고 32bit에서 Boost.Regex 라이브러리를 테스트 해 보았다. 테스트 소스는 인터넷이서 구한 것으로 입력되는 글 중 Subject: 를 찾아 출력하는 내용이다.
#include "stdafx.h"
#include <boost/regex.hpp>
#include <iostream>
#include <string>

int _tmain(int argc, _TCHAR* argv[])
{
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;
}

return 0;
}
사용자 삽입 이미지
Boost.Regex 테스트 결과 화면
Original Post : http://neodreamer-dev.tistory.com/156

No comments :

Post a Comment