Red Baron

POST : 카테고리 없음

비쥬얼 2005 STLPort Boost 설치

[Yardbirds, 2006/12/11 13:41, 지나가는 말]

STLport ( http://www.stlport.org/ )

1. 다운로드
STLport 공식사이트의 다운로드 페이지( http://www.stlport.org/download.html )에는 오래된 버전이 있기 때문에 SourceForge( http://sourceforge.net/projects/stlport )에서 최신 버전을 다운받아야 합니다. 2006년 12월 6일에 버전 5.1.0이 릴리즈됐습니다.

2. 설치
A. 다운로드한 파일을 적당한 폴더에 unzip합니다.
B. 콘솔창 열기
  실행창(시작->실행)에서 ‘cmd’를 입력하고 엔터
C. 비주얼스튜디오 2005의 VC가 설치된 폴더로 이동합니다.
  아마 “C:\Program Files\Microsoft Visual Studio 8\VC” 폴더일 것입니다.
D. 이 폴더에서 “vcvarsall.bat”를 실행합니다.
  이 배치파일은 MSVC++컴파일러가 빌드할 때 필요한 환경을 설정합니다.
E. 이제 STLport의 build/lib 폴더로 이동합니다.
F. STLport의 컴파일러를 MSCV 8로 설정합니다.
  > configure –c mscv8
G. Make 유틸리티를 실행합니다.
  > nmake /fmsvc.mak install

3. 테스트
A. STLport의 build/test/unit 폴더로 이동합니다.
B. Make 유틸리티를 실행합니다.
  > nmake /fmsvc.mak install
C. STLport의 bin 폴더에 테스트 파일이 생깁니다.

4. 비주얼스튜디오 2005 설정
A. Tools > Options 메뉴를 선택합니다.
B. 왼쪽 트리에서 Projects and Solutions > VC++ Directories를 선택합니다.
C. Include 경로 설정
  Show directories for: 에서 Include files를 설정하고 STLport의 stlport 폴더를 추가해 줍니다. 반드시 맨 위에 있어야 합니다.
D. Library 경로 설정
  Show directories for: 에서 Library files를 설정하고 STLport의 lib 폴더를 추가해 줍니다.

5. 사용
A. STLport는 자동링크를 지원하기 때문에 특별히 프로젝트 세팅에 lib파일을 입력하지 않아도 됩니다.
  STLport 소스를 확인한 결과 _detect_dll_or_lib.h 과 _auto_link.h 에서 링크와 관련된 처리를 한다는 것이 확인됐습니다.
  자동링크를 사용할 경우 프로젝트가 사용하는 런타임 라이브러리 종류에 따라 링크되는 라이브러리가 달라집니다.
B. STLport에서 사용하는 preprocessor
  preprocessor 역할
  _STLP_NO_IOSTREAMS 라이브러리의 iostream 부분을 사용하고 않도록 합니다.
  _STLP_VERBOSE_AUTO_LINK 어떤 라이브러리를 자동링크 시키는지 출력해줍니다.
  _STLP_DONT_USE_AUTO_LINK 자동링크를 사용하지 않도록 한다. 이럴 경우, 프로젝트 세팅에 적당한 lib파일을 입력해 줘야 합니다.

C. MFC를 사용
  STLport를 MFC와 같이 사용할 경우 MFC 헤더파일을 먼저 include시키고 STLport 헤더를 include시켜야 합니다. 그리고 _STLP_USE_MFC preprocessor를 정의해 줘야 합니다. 이 preprocessor는 windows.h 대신 afx.h를 include합니다.
D. 영구적인 preprocessor 정의
  stlport/stl/config/user_config.h 파일에 preprocessor를 정의함으로써 프로젝트마다 일일이 정의하는 번거로움을 줄일 수 있습니다.

Boost ( http://www.boost.org/ )

1. 다운로드
A. Boost.jam과 boost 라이브러리는 http://sourceforge.net/projects/boost 에서 받을 수 있습니다.
B. Boost.jam
 Boost.jam은 Boost 라이브러리를 빌드하기위해 사용하는 빌드시스템을 말합니다. 즉, boost.jam을 설치해야 boost 라이브러리를 빌드할 수 있습니다.
 Boost.jam은 설치된 폴더에서 build.bat를 실행함으로써 빌드할 수 있습니다.
 빌드가 완성되면 windows의 경우 bin.ntx86 폴더에 bjam.exe라는 파일이 생성됩니다.
 bjam.exe 파일을 boost 라이브러리가 설치된 폴더에 복사해 두는 것이 편리합니다.
C. Boost 라이브러리 빌드
 설치된 폴더에서
  > bjam.exe -sTOOLS=vc-8_0 --prefix={outdir} –builddir={builddir} install 명령 라인을 입력하고  실행하면 boost  라이브러리가 설치된다. 여기에서 {directory}는 빌드하면서 생성되는 파일이 저장될  폴더이름입니다.

2. 비주얼스튜디오 설정
A. Tools > Options 메뉴를 선택합니다.
B. 왼쪽 트리에서 Projects and Solutions > VC++ Directories를 선택합니다.
C. Include 경로 설정
  Show directories for: 에서 Include files를 설정하고 {outdir}의 include/<boost_version> 폴더를 추가해 줍니다.
D. Library 경로 설정
  Show directories for: 에서 Library files를 설정하고 {outdir}의 lib 폴더를 추가해 줍니다.

Boost와 STLport의 혼용

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


※ boost 라이브러리를 빌드할 때에는 동료와 커피 한잔을 나누며 담소 나누는 것을 잊지 마시기 바랍니다. 시간이 오래걸려요~

※ boost.jam은 boost 라이브러리 내에 포함돼 있지만 vc8 용 툴셋이 없기 때문에 최근 버전을 받아 사용하는 것이 좋습니다. 만약 boost 라이브러리 내에 포함된 boost.jam을 빌드하고 싶다면 vc6, vc7 중 하나가 설치 돼 있어야하며 tools/build/jam_src/build.bat (msvc|vc7) 배치파일을 실행하면 됩니다.

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

posted at

2008. 4. 22. 14:48


CONTENTS

Red Baron
BLOG main image

RSS 2.0Tattertools
공지 아카이브
최근 글 최근 댓글 최근 트랙백
카테고리 태그 구름사이트 링크