Showing posts with label boost library. Show all posts
Showing posts with label boost library. Show all posts

2008/09/17

Boost Library 쉽게 설치하기

사용자 삽입 이미지

2008/09/17 - [Dev Story/Tips] - VC++ 2005 에 boost library 32bit & 64bit 설치하기


위 글을 포스팅하면서 찾은 정보로 boost library 를 쉽게 설치할 수 있도록 구성한 설치 프로그램이 있다.

BoostPro 라는 이름의 이 프로그램은 작은 설치 파일 형태로 배포되어 인터넷을 통하여 라이브러리를 다운받아 설치되도록 지원하는 프로그램이다.

이미 컴파일된 파일을 다운로드하여 설치하기 때문에 몇가지 제약을 갖고있다.
현재 1.35버전이 가장 최근 버전이며 컴파일러 선택을 Visual C++ 2003, 2005, 2008 만 선택할 수 있으며 다른 부가적인 옵션을 선택할 수 없다(32bit 만 지원함.). 그래서 설치가 간단하다.

먼저 프로그램을 실행하고 다운로드 받을 위치를 선택한다. 설치 경로와 컴파일러 그리고 Variants를 설정을 해 주면 된다.

아래 슬라이드는 설치되는 과정을 갈무리한 화면이다.










설치를 완료하고 Visual C++ IDE 의 도구->옵션 메뉴에서 포함경로와 라이브러리 경로를 지정해 주면 된다.

BoostPro webpage
Original Post :
http://neodreamer-dev.tistory.com/158

C++ Builder 2009에 포함된 Boost Library 버전 확인

사용자 삽입 이미지

C++ 표준 라이브러리로 등록을 코앞에 둔 boost library 가 C++ Builder 2009 에는 기본으로 포함되어 있다.

이 라이브러리의 버전을 확인해 보았다.

설치를 마치고 간단하게 설치 경로(C:\Program Files\CodeGear\RAD Studio\6.0\include\boost_1_35)를 보면 확인할 수 있지만 소스 코드를 이용하여 확인을 해 보았다.
#include <vcl.h>
#pragma hdrstop

#include <tchar.h>
//----------------------------------------------------------------------
#include <boost/version.hpp>
#include <iostream>
#include <string>

#pragma argsused
int _tmain(int argc, _TCHAR* argv[])
{
    int minor = BOOST_VERSION / 100 % 1000;
    int major = BOOST_VERSION / 10000;

    std::cout << "Boost library version : " << BOOST_LIB_VERSION << "
\n";
    std::cout << "Boost major version : " << major << "
\n";
    std::cout << "Boost minor version : " << minor << "
\n";

    return 0;
}
//----------------------------------------------------------------------

결과 화면
C++ Builder 2009에 포함된 Boost 버전

Original Post : http://neodreamer-dev.tistory.com/157

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