当前位置: 首页 > news >正文

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++的人太少了。

相关文章:

  • 自动在多个DB上执行同一条sql语句
  • this指向
  • ASCII码表
  • 扫雷游戏制作过程(C#描述):第三节、雷区绘制
  • 使用SQL中的ROW_NUMBER()和while循环对每一行执行操作
  • 关于FPGA随笔
  • 取得所有DB的名称, 形成一行, 并以逗号分隔
  • windows下安装JDK1.8和eclipse
  • LightOJ 1414 February 29(闰年统计+容斥原理)
  • C++ 日志类库 log4cplus
  • Spark Mllib里如何将trainDara训练数据的分类特征字段转换为数值字段(图文详解)...
  • 给Eclipse安装eUML2插件以及可能出现的依赖错误解决方案
  • junit import org.junit.Test 报错
  • SQL Server2005与SQLServer2008并存时, 怎样连接到2008
  • 微信小程序开发之带搜索记录的搜索框
  • 【Leetcode】101. 对称二叉树
  • .pyc 想到的一些问题
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • WebSocket使用
  • windows下mongoDB的环境配置
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 我感觉这是史上最牛的防sql注入方法类
  • 06-01 点餐小程序前台界面搭建
  • ​io --- 处理流的核心工具​
  • ​Java并发新构件之Exchanger
  • #stm32整理(一)flash读写
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (办公)springboot配置aop处理请求.
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (四) 虚拟摄像头vivi体验
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转)setTimeout 和 setInterval 的区别
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .Net 垃圾回收机制原理(二)
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .NET/C# 使窗口永不获得焦点
  • .net反编译工具
  • .NET下的多线程编程—1-线程机制概述
  • .Net语言中的StringBuilder:入门到精通
  • @在php中起什么作用?
  • [Android Pro] AndroidX重构和映射
  • [Grafana]ES数据源Alert告警发送
  • [IE9] GPU硬件加速到底是实用创新还是噱头
  • [Java、Android面试]_05_内存泄漏和内存溢出
  • [java] 23种设计模式之责任链模式
  • [leetcode 189][轮转数组]
  • [LeetCode] 19. 删除链表的倒数第 N 个结点
  • [Linux]如何理解kernel、shell、bash