STLport란, SGI STL을 수정하여 다양한 컴파일러에서 손쉽게 설치할 수 있도록 만든 STL 배포판입니다.
SGI STL의 강력한 기능인
다양한 비표준 컨테이너(대표적으로 대용량 문자열 컨테이너인 rope와
hast_set, hast_multiset, hash_map, hash_multimap 등의 해쉬 연관 컨테이너(hashed associative container))와 함수자 객체와 어댑터 들을 제공합니다.
또한 독특하고 강력한 기능인 디버그 모드를 제공합니다.
C++Builder 6에는 기본 설치되어 있으나,
C++Builder 5 이하나 M$ VC++과 같은 다른 컴파일러 사용자는
이곳이나
http://stlport.org 에서 다운받아 설치하셔야 합니다.
설치는 그다지 어렵지 않습니다.
템플릿 라이브러리가 다 그렇듯, 헤더파일만 있으면 동작합니다.
프로젝트 옵션에서 Include Path만 정확히 지정만 하면 됩니다.
그러나, STLport에는 그 외에도 기존 라이브러리보다 성능이 향상된
iostream 라이브러리가 있기 때문에, 이것도 설치하시는 게 좋습니다.
압축 파일안의 "Install"이라는 텍스트 파일에 설치 설명이 자세히 나와있습니다.
리눅스에서 소스 코드를 받아 컴파일해서 설치해보신 경험이 있으신 분은,
윈도의 명령 프롬프트에서 손쉽게 설치하실 수 있으실 겁니다.
간단히 설치 방법을 설명하겠습니다.
----------------------------------------------------------------------------
우선 $(BCB)\bin이 PATH에 설정되어 있는 지 확인하세요.
bcc32.cfg 나 ilink32.cfg 의 설정도 정확한지 보시고요.
일단, 압축 파일을 빌더 설치 위치와 "전혀 관계 없는" 위치에 풉니다.
(Boost 라이브러리가 $(BCB)\Include 에 압축을 푸는 것과는 다릅니다!)
여기서는 C:\DOWNLOAD\STLport-4.5.3\에 풀었다고 가정합니다.
압축을 풀어보면 여러 디렉토리들이 나오는데, src 디렉토리로 갑니다.
여기서부터는 탐색기와 함께, 명령 프롬프트(MS-DOS 창)로 작업해야 합니다.
C:\DOWNLOAD\STLport-4.5.3\src 경로를 cd 명령으로 이동하세요!
(탐색기에서 주소를 복사해서 명령 프롬프트 창에 복사해 넣을 수 있습니다.)
src 디렉토리에는 각종 컴파일러를 위한 메이크 파일들(.mak)이 있습니다.
이중에서 볼랜드 컴파일러 용은 bc*.mak 파일입니다.
Borland C++ 5.02 용은 bc502.mak,
Borland C++Builder 5나 Borland C++ 5.5 Compiler용은 bcb55.mak를 쓰세요.
Borland C++Builder 4이하 버전은 bcb.mak로 하는 것 같은데
테스트해보지 못해서 확실히는 모르겠습니다.
빌더 6용의 bcb60.mak도 있지만, 물론 빌더 6 사용자는 굳이 설치할 필요는 없겠죠?
라이브러리를 빌드(컴파일)하는 방법은 다음 두 가지가 있습니다.
1) 이 메이크 파일을 makefile 이라는 이름으로 복사한 다음 빌드
copy bcb55.mak makefile
make all
2) make -f bcb55.mak all
시스템 성능에 따라 다르겠지만, 컴파일 시간은 꽤 걸리더군요.
(여담이지만, 리눅스에서 왠만한 프로그램 빌드해서 설치하는 것보다는 짧게 걸립니다.
커널이나 X-Window, KDE, GNOME 등을 빌드할 때의 엄청난 시간에 비해서야... ^^;)
빌드가 다 되었으면, 설치만 하면 됩니다.
1번으로 했으면 -> make install
2번으로 했으면 -> make -f bcb55.mak install
이렇게 하면 다음 위치에 헤더파일과 라이브러리가 자동으로 설치됩니다.
$(BCB)/include/stlport 와 $(BCB)/include/stlport/bc50
$(BCB)/lib
참고로 이런 설치 위치에 대한 설정은
common_macros.mak 와 common_macros_windows.mak 에 있습니다.
이것으로 설치는 끝났고요,
프로젝트에 사용하는 방법을 설명하죠.
STLport-4.5.3\doc\README.BC.html 에 보면 나와있는 내용인데요,
Borland C++Builder 5나 Borland C++ 5.5 Compiler 사용자는
인클루드 경로를 $(BCB)\Include\stlport\가 아니라
$(BCB)\Include\stlport\BC50\ 로 하셔야 합니다!
설정 방법은 [Project]-[Options...]-[Directories/Conditionals]에서
[Include Path]에 $(BCB)\Include\stlport\BC50\ 를 최상위로 추가하세요.
--------------------------------------------------------------------
휴~~~ 겨우 설명이 끝났네요.
M$ VC++에 설치하고자 하시는 분은 다음 링크를 참고하세요.
http://www.kwak101.pe.kr/kwak101/works/InternData/STLport_QuickGuide.html
Effective STL의 한국어판 번역자이신 곽용재님의 홈에 있는 자료입니다.
빌더에 설치하는 방법과 거의 같습니다.
명령 프롬프트에서 make로 빌드하면 간단한데,
굳이 거창하게 IDE에서 컴파일하는 방법으로 설명한 점이 마음에 안드네요. -_-;;
참고로 M$ VC++에서는 이렇게 STLport나 Dinkumware(상용)의 STL을 따로 설치하지 않으면
STL을 제대로 쓰기가 힘듭니다. (그 정도로 M$ VC++에 기본 포함된 STL은 형편없습니다. -_-;;)
M$ VC++ 사용자는 꼭 설치하세요!