2010년 1월 18일.
WinXP 32bit. / vc-80 환경에서 boost 1.41 설치 시도.
7z 파일을 빵집으로 열면 오류가 발생하는 것 같다. (http://www.gpgstudy.com/forum/viewtopic.php?p=123335) 링크에는 알집의 오류를 이야기 하고 있지만, 빵집도 마찬가지 인듯.
tar.gz 파일을 받아 설치하면 문제없이 설치된다.

tar.gz 파일을 열고 bootstrap.bat를 실행해도 bjam.exe는 제대로 만들어지지 않았다. 한참동안 무언가를 처리하다가 "입력 줄이 너무 깁니다. 명령 구문이 틀립니다."라는 오류를 내고 끝난다.

build 되어있는 bjam.exe를 받아서 폴더 안에 넣고, 커맨드창을 열어 (비주얼 스튜디오 프롬프트가 아니어도 됨) -j8 을 추가해 아래의 명령으로 빌드한다. (http://bspfp.pe.kr/87)
D:\libraries\boost_1_38_0>bjam -j8 --prefix=D:\boost --toolset=msvc --build-type=complete install define="_SCL_SECURE_NO_WARNINGS=0" define="_HAS_ITERATOR_DEBUGGI
NG=0" define="_SECURE_SCL=0" > buildhistory.txt

2010년 1월 18일. WinXP 32bit / vc-80 / quad-core에서 35분 걸림. (18:15 ~ 18:50)


1.37 버전 이후 (글 작성 시점 기준 현재 1.38) 버전의 bjam command line option에 대해서는
http://www.boost.org/doc/libs/1_38_0/more/getting_started/windows.html#or-build-binaries-from-source
을 참고. 아래 명령대로 하면 모든 CRT 모드의 lib를 만들어내지 않는다.

D:\libraries\boost_1_38_0>bjam --build-dir=D:\boost\ --toolset=msvc --build-type
=complete stage define="_SCL_SECURE_NO_WARNINGS=0" define="_HAS_ITERATOR_DEBUGGI
NG=0" define="_SECURE_SCL=0" > buildhistory.txt

D:\libraries\boost_1_38_0>

(2009. 2. 11. Vista 32bit, vc-80 에서 빌드하는데 한시간 반 걸림 (2:57 ~ 4:21) )
(2009. 8. 13. Vista 32bit, vc-80 에서 1.39 빌드하는데 한시간 20분 걸림 (1:39 ~ 2:59) )

http://shuaihan.egloos.com/1751773


BOOST 라이브러리 사이트 : http://www.boost.org
 
1. Download

   boost 파일 : http://sourceforge.net/project/showfiles.php?group_id=7586
   bjam 파일 : http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=72941&release_id=423149

   * 각각 다운로드 받은 후 압축을 해제 합니다.(boost_1_34_1)
   * Visual studio 2005 를 사용하신다면 bjam 파일을 반드시 다운로드 받습니다.(boost-jam-3.1.14)


2. bjam.exe 를 생성한다.

   a. Visual studio 6.0 일 경우
      $boostDir/tool/build/jam_src/build.bat  실행한다.
      -> $boostDir\tools\jam\src
      $boostDir/tool/build/jam_src/bin.ntx86/bjam.exe  파일 생성 된것을 확인한다.
    b. visual studio 2005 일 경우
      $boostJamDir/build.bat 실행한다.
      $boostJamDir/bin.ntx86/bjam.exe 파일 생성된것을 확인한다.

3. bjam.exe 파일을 $boostDir 로 이동합니다.

   $boostDir 폴더에는 boost-build.jam 파일이 있어야 합니다.


4. $boostDir 로 이동한후 아래 명령을 실행시킵니다.

   a. visual studio 6을 사용할 경우
       bjam --prefix=d:\boost "-sTOOLS=msvc" install

   b. visual studio 2005 을 사용할 경우
       bjam --prefix=d:\boost "-sTOOLS=vc-8_0" install > build_history.txt

      ※ VC8 에서 빌드를 하다보면 libs/regex/src/regex_traits_defaults.cpp에서
         charset 문제로 인한 에러가 발생합니다. 아마 OS 로케일이 동아시아쪽일
         경우에 발생하는 것으로 보입니다.
         이 문제는 http://boost.cvs.sourceforge.net/boost/ 에서 해당 파일을
         다운로드 받아 다시 빌드하면 해결됩니다.
         에러가 발생한 위치는  build_history.txt 파일을 열어 보면 됩니다.


   * TOOLS 옵션으로는 -msvc, -vc7, vc-8_0이 존재합니다.
      http://www.boost.org/more/getting_started.html#step2


   * 참고) 컴파일 시간이 무지 오래 걸립니다... .......


  ※ Boost와 STLport의 혼용
     Boost는 내부에서 STL라이브러리를 사용합니다. VC로 boost를 빌드하는 경우 VC와
     함께 설치되는 STL라이브러리나 STLport 중 하나를 선택해 빌드해야 합니다.
     하지만 VC8(VS.NET 2005)로 빌드할 경우에는 STLport를 사용할 수 없습니다.
     따라서, boost 라이브러리를 사용한다면 차라리 STLport를 설치하지 않는 것이
     include 설정에 대한 혼동을 막을 수 있습니다.


. d:\boost 폴더에서 include 파일과 lib 파일이 있는지 체크 합니다.
    * lib 폴더에는 반드시 컴파일된 dll, lib 파일이 있어야 합니다.


6. Visual studio 에서 boost 폴더 참조 시키기.
   a. visual studio 6 일 경우

      도구 -> 옵션 -> ... (프로그램을 삭제해서 기억 안남)

   b. visual studo 2005 일 경우

      도구 -> 옵션 -> 프로젝트 및 솔루션  -> VC++ 디렉터리 ->
      [우측화면]  다음파일의 디렉터리 표시 ->
         1. 포함파일 선택 -> D:\boost\include\boost-1_33_1 추가
         2. 라이브러리 파일 선택 -> D:\boost\lib 추가
       -> 확인

 

이상으로 설치 및 설정 방법에 대해 설명을 마치겠습니다.

 

TAG , ,
Posted by leafbird 트랙백 1 : 댓글 0

댓글을 달아 주세요