stlport 编译方法

转自: http://hi.baidu.com/miaow_home/blog/item/bdbead382f937bc4d462253e.html

为了让更多的人学习到比微软更好的C++库,请原作者谅解!

原文如下:

STLPort不得不说的故事--1.STLPort简介与VC中安装
2008年08月03日 星期日 下午 11:53
首先,要知道一个重要的概念,没有官方的C++编译器,也没有官方的C++ STLPort。我们总认为官方的东西最可靠,C++的官方,也就是ISO委员会,没有发表过任何编译器和库的实体,官方只负责指定标准。定标准比实现要麻烦很多,我是这么认为的。

也就是说,根本没有所谓的官方的C++编译器的STL的存在(我用了好多的“的”),所有的编译器和STL都是由厂商自己实现。目前最好的C++编译器应该就是gcc和intel C++了吧,而大家最为认可的STL库就是SGI了。不过SGI专门为UNIX实现,移植有些困难,所有就有了STLPort这个SGI的多编译器移植版。

到现在为止,STLPort的最新版本是STLport-5.1.5,大家可以在www.stlport.org下载最新版的STLPort。概念中电脑上很多东西都要安装(编译)的,网上一查,结果倒是很多,大多都不知所云,又是命令行,又是环境变量的,很多人在这一步就被挡住的。

本文以%STLPort%代表STLPort的解压目录,讲解STLPort的安装与使用。

STLPort完全可以不安装(编译)就用,除非你要用其提供的iostream代替编译器自己的iostream。%TLPort%\stlport\stl\config\user_config.h文件里面有个“#define _STLP_NO_IOSTREAMS 1”被注释掉了,取消注释,这样就说明我们不使用其提供的STLPort而使用编译器自己的iostream,这样就无需安装(编译)了。

不安装(编译)的用法(推荐):其实包涵%STLPort%\stlport文件夹的头文件就可以了,想用哪个就包涵哪个,和一般代码一样的使用,这是最简单的用法。当然,你要在VC中设置默认include路径,要把“%STLPort%\stlport”放在最前,这样你就可以使用直接#include <XXX>包涵而不用一大串的路径了。比如说你要用vector,使用#include <vector>就好,VC会把STLPort的vector包涵进去,而不是VC原本的vector。如此,你已经完成了用STLPort代替VC原本的STL的工作了。

安装(编译)的用法:说实话,我不知道这种方法有任何优势,挺麻烦的,呵呵。以VC6为例,具体过程如下:

1.运行VC安装目录下VC98的VC98\bin中运行vcvars32.bat。

2.到%STLPort%\build\lib\下,在命令提示符下执行configure.bat -c msvc6。其他版本的vc也差不多,比如vc7就是msvc7,哈哈。

3.执行nmake /fmsvc.mak install开始编译。

4.编译结束后,将bin\目录下的三个*.dll文件拷贝到windows\system32\目录下。

5.设置%STLPort%目录下的\include\和\lib\目录到VC的默认include和lib路径之中。


最后注意,STLPort在控制台程序中使用时要更改运行时库为多线程库,否侧编译通不过。


2008-8-3
GhostMiaow

原创文章,你们转载我也没办法,不过记得别把我的名字抹煞了就好。

http://hi.baidu.com/miaow%5Fhome/

注:本人很少写文,文字驾驭能力很差,写的时候思路也有时会乱掉,各位多多见谅。写得不好不对的地方大家提出来,我尽量改。有什么疑问,留言吧,我努力解答。我也是菜鸟而已。

经过如下的改动,我成功了!

1.没有经过任何改动

2.configure.bat -c msvc6 更改为configure.bat msvc6 加上-c提示找不到编译器

下面的没有经过任何改动

谢谢原作者,现在用C++的人太少了。

你可能感兴趣的:(port)