STLport 5.21 VisualStudio2008 Vista에서 설정하기.

STLport가 좋다는 말을 또 어디서 주워 들어서 함 써볼려고 하는데 걍 깔면 되는게 아니더군요 안에 Readme 파일과 install 파일은 순 영어만 있네요.

일단 다운받습니다 소스는 http://sourceforge.net/projects/stlport/ 여기에 가면 있습니다
최신버전을 받을려면 바로 보이는 다운로드를 누르지 말고 옆에 View all files를 눌러서 최신버전을 확인하세요.

일단 받아서 압축 풉니다
저는 C:\Program Files\Microsoft Visual Studio 9.0\STLport-5.2.1 이 경로에 설치했습니다.
그 다음에는 프로그램 그룹에 Microsoft Visual Studio 2008 ==>Visual Studio Tools ==>Visual Studio 2008 Command Prompt를 실행합니다.

STLport 빌드 화면

해당 폴더에서 configure msvc9를 해줍니다. (2005 버전이면 configure msvc8 이겠죠.)

화면 중간에 세팅 플래폼이 윈도우즈XP로 뜨는데요. Configure 파일을 열어보니 XP이상 버전은 전부 같다고 나옵니다
98이나 95 세팅일 경우 변경하는겁니다.
덧붙히자면 boost를 쓴다면 msvc9 뒤에 –use-boost c:\”Boost 경로” 를 덧붙힙니다.

STLport 빌드 화면

그다음엔 cd build\lib 해서 lib 폴더로 이동해서 화면상에 나온데로 nmake clean install을 칩니다.

STLport 빌드 화면

컴파일 완료 모습
그럼 다음에 Visual Studio 설정을 해줍니다.

VC++ Directories Library화면
VC++ Directories Include화면

lib 경로는 맨위로 올리지 않아도 되지만 include 경로는 맨위로 올려줘야 한다. 안그럼 VisualStudio2008 내장 STL을 쓰게 된다. 해당경로는 적당히 알아서 센스있게 해준다 -_-;

C:\Program Files\Microsoft Visual Studio 9.0\STLport-5.2.1\bin 폴더에 가보면
stlport.5.2.dll
stlportd.5.2.dll
stlportstld.5.2.dll
stlport.5.2.pdb
stlportd.5.2.pdb
stlportstld.5.2.pdb

요렇게 6개의 파일이 있습니다. 이걸 Windows\System32 폴더에 복사해줍니다.

굳이 안해줘도 되긴하지만 대신 안해줄거면 저 파일을 해당프로젝트의 실행폴더에 넣어줘야 합니다.
나중에 프로그램 배포할때도 저 해당 dll파일은 같이 복사해줘야 하고요.

Unable To Locate Component

저 DLL파일이 System 폴더라던지 실행폴더에 없으면 저런 메세지 뜨니깐 잘해보라고
지금 STLport가 제대로 사용되는지 확인할려면 저 dll파일을 다른곳에 옮겨 놓고 실행 해보면 됩니다.
저런 메세지가 안뜨면 현재 vs2008 내장 STL을 쓰고 있는 것이지요.

테스트용 소스

#include <iostream>

void main(){
	using namespace std;
	cout <<"Me llamo es LinSoo"<< endl;
}

사용시 필요한 추가 옵션(?)

//stlport/stl/config/user_config.h
#define _STLP_NO_IOSTREAMS 1				//iostream을 사용할 수 없는 임베디드 시스템일 경우
#define _STLP_USE_MFC 1						//MFC를 사용할 경우 주석해지 합니다.
#define _STLP_USING_PLATFORM_SDK_COMPILER 1	//Platform SDK에서 제공하는 컴파일러를 사용할 경우
#define _STLP_VERBOSE_AUTO_LINK 1			//자동 링크 기능을 사용할 때 어떤 lib를 링크하는지 보여줍니다.
#define _STLP_USE_TEMPLATE_EXPRESSION 1		//string의 + operator의 성능을 향상시키지만 댓가가 따릅니다.
#define _STLP_USE_BOOST_SUPPORT 1			//boost의 type_traits 라이브러리를 사용하도록 합니다.
//stlport/stl/config/hosts.h
#define _STLP_USE_DYNAMIC_LIB				//STLport의 동적(dynamic) 라이브러리를 사용한다.
#define _STLP_USE_STATIC_LIB				//STLport의 정적(static) 라이브러리를 사용한다.

//STLport 사용하면 메모리 릭경고가 뜨는데 이게 실제 릭이 아니라 버그라고 합니다.
//요게 찜찜하면 다음 항목을 사용하면 됩니다. 하지만 반드시 _STLP_USE_NEWALLOC 또는 _STLP_USE_MALLOC과 같이 사용해야 합니다.
#define _STLP_LEAKS_PEDANTIC 1	//메모리 할당할때 STLport에서 만든 할당자 말고 new를 사용하게 해준다고 합니다.
#define _STLP_USE_NEWALLOC 1	//메모리 할당할때 STLport에서 만든 할당자 말고 malloc를 사용하게 해준다고 합니다.
#define _STLP_USE_MALLOC 1
크리에이티브 커먼즈 라이선스 Linsoo 의 저작물인 이 저작물은(는) 크리에이티브 커먼즈 저작자표시-동일조건변경허락 4.0 국제 라이선스 에 따라 이용할 수 있습니다.

“STLport 5.21 VisualStudio2008 Vista에서 설정하기.”에 대한 3개의 댓글

댓글 남기기

이메일은 공개되지 않습니다.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.