STLport的下载

http://sourceforge.net/projects/stlport/

STLport的编译

* 试验环境 : win7x64sp1 + vc6sp6
* 打开控制台窗口 cmd
* 运行vc6编译环境命令行批处理

*移除STLport编译配置

* 配置STLport的所有者为vc6, 编译动态库和静态库版本

* 编译STLport

STLport的使用

Tools -> Options -> Directories

测试程序

单步可以跟入STLport ^_^

\STLport\doc\README.msvc中的一些摘录

=============

Using STLport

=============

Adjust your include and link paths in MSVC IDE (in 'Tools -> Options -> Directories'

for MSVC6 IDE). In the include files add the path to STLport's 'stlport' folder.

Make sure it is the first directory listed there. Add STLport's 'lib' folder for

the library files (order of paths doesn't matter here).

There are some preprocessor defines that control usage of the STLport in msvc

projects:

If you don't want to use the iostreams part of the library, you can specify the

define _STLP_NO_IOSTREAMS. In this mode there is no need to link against the

library.

STLport uses automatic linking to find the proper .lib file. If you want to see

what import library STLport is going to use, define _STLP_VERBOSE_AUTO_LINK.

When not using automatic linking (by specifying _STLP_DONT_USE_AUTO_LINK), you

have to specify the proper .lib file in the Project Settings, on the "link" tab.

The .lib names have the following syntax:

stlport[d|stld][_x,_static,_statix].<STLport-Version>.lib

d : debug build

stld: debug build with _STLP_DEBUG (STL safe) mode

_x: Build of STLport as a dll but statically link to the native runtime.

_static : build of a static library

_statix : build of a static library link dynamically to the native runtime.

Examples:

stlport_static.5.0.lib - static release version, Version 5.0.0

stlportd.5.0.lib - dll debug version, Version 5.0.0

When using STLport together with MFC, be sure to include the MFC headers first,

then include STLport headers, e.g. in your Stdafx.h. This way STLport correctly

recognizes MFC usage. You also can define the macro _STLP_USE_MFC, either in

your project settings or in stlport/stl/config/user_config.h.

In order to enhance debugging with STLport you can optionally add the content of

the etc/autoexp.dat file in the autoexp.dat file coming with your Visual Studio

install.

Now you should be ready to use STLport.

============

Known issues

============

1. InterlockedIncrement

If you experiment trouble with the InterlockedIncrement Win32 API function

like the following message:

C:\Program Files\Microsoft SDK\Include\.\winbase.h(1392) : error C2733: second C

linkage of overloaded function 'InterlockedIncrement' not allowed

C:\Program Files\Microsoft SDK\Include\.\winbase.h(1390) : see declaration of

'InterlockedIncrement'

It means that you are using the new Microsoft platform SDK. There is no

way to known it from STLport code so you have to signal it in the

stlport/stl/config/user_config.h file (uncomment _STLP_NEW_PLATFORM_SDK in this file).

2. Native C/C++ library headers location

If you experiment trouble with location of ctime and other Standard headers

while building or using STLport you might be using the compiler coming with a

platform SDK. If so please uncomment _STLP_USING_PLATFORM_SDK_COMPILER in

stlport/stl/config/user_config.h. If it still do not find native headers you will

perhaps need to change native headers relative path used by STLport. In this case use

_STLP_NATIVE_INCLUDE_PATH and associated macro in stlport/stl/config/host.h.

4. C symbols in std namespace

The compiler of MSVC++ 6 has a bug when dealing with symbols existant in both

the global namespace and symbols imported by a using-directive or a

using-declaration - it will report an ambiguous call to an overloaded

function (error C2668). Example:

void function();

namespace ns {

void function();

// or:

// using ::function;

}

using ns::function;

// or:

// using namespace ns;

void call() {

function();

}

Since we anticipate that using-declarations or even using-directives are common

use, STLport by default doesn't import or wrap functions that exist in both the

global namespace and namespace std, in particular those are functions with C

origin like fopen() or abs(). Also, it defines additional overloads for

functions like abs() (overloaded for int, long, float, double, long double) in

the global namespace.

In order to make STLport include them in the std namespace, you can define the

_STLP_DO_IMPORT_CSTD_FUNCTIONS macro. Doing so, you will have to explicitely

scope all your functions calls like std::abs() though - otherwise you only get

the global abs(int) from the C library.

http://blog.csdn.net/lostspeed/article/details/50585249

STLport在vc6中的集成的更多相关文章

  1. 在VC6中使用ogre进行游戏开发

    微软公司开发的visual c++6.0堪称史上最易用.最成熟的开发工具.vc6以其小巧.轻便赢得了程序员的喜爱,以至于在VS大行其道的时代,很多程序员仍然使用vc6作为开发工具,vc6的欢迎性可见一 ...

  2. iOS中支付宝集成

    iOS中支付宝集成 如今各种的App中都使用了三方支付的功能,现在将我在使用支付宝支付集成过程的心得分享一下,希望对大家都能有所帮助 要集成一个支付宝支付过程的环境,大致需要: 1>公司:先与支 ...

  3. Atitit.mybatis的测试  以及spring与mybatis在本项目中的集成配置说明

    Atitit.mybatis的测试  以及spring与mybatis在本项目中的集成配置说明 1.1. Mybatis invoke1 1.2. Spring的数据源配置2 1.3. Mybatis ...

  4. VC6中创建Qt工程的创建

    文章来源:http://blog.sina.com.cn/s/blog_64d015c10100sf1o.html 本文主要介绍怎么创建可以在VC6中编译的QT工程.本文所采用环境为VC++6.0+Q ...

  5. 在Windows系统中安装集成的PHP开发环境

    原文:在Windows系统中安装集成的PHP开发环境 刚想学php的,又不会配置复杂php的环境,可以使用集成的,目前网上提供常用的PHP集成环境主要有AppServ.phpStudy.WAMP和XA ...

  6. Dev环境中的集成测试用例执行时上下文环境检查(实战)

    Dev环境中的集成测试用例执行时上下文环境检查(实战) Microsoft.NET 解决方案,项目开发必知必会. 从这篇文章开始我将分享一系列我认为在实际工作中很有必要的一些.NET项目开发的核心技术 ...

  7. Xcode中如何集成Unity

    项目中需要集成unity,摸索了大半周,碰到了很多坑,终于搞定. 我的方法是,通过unity导出一个空的iOS项目,然后再新建一个Xcode项目,针对配置页面一一对应.直到配置完全一样,然后倒入相关资 ...

  8. 在 Intellij 中设置集成 Jenkins 服务器连接

    如何在 Intellij 中设置集成 Jenkins 服务器连接 在Intellij中可以很方便的设置Jenkins服务器,不用登录到浏览器中,在Intellij中即可浏览所有job,开发plugin ...

  9. Doxygen自动文档生成工具在Eclipse中的集成及使用举例

    你有为软件编写说明文档的苦恼吗?当别人甩给你一个庞大的系统,让你根据里面的代码注释理解后写出一份完整的开发文档,你会怎么办?一个个的看代码 然后耗时N天来写吗?这既是一份苦差事也极其耗时,有没有更好的 ...

随机推荐

  1. EJB3.0开发环境的搭建

    EJB Container的介绍SUN公司正式推出了EJB的规范之后,在众多的公司和开发者中引起了非常大的反响.标志着用Java开发企业级应用系统将变的非常easy.很多公司都已经推出了或正打算EJB ...

  2. 数据库基础(子查询练习、链接查询(join on 、union)及其练习)

    子查询练习一:查询销售部里的年龄大于35岁的人的所有信息 练习二:将haha表中部门的所有数字代码转换为bumen表中的字符串显示 练习三:将haha表中部门的所有数字代码转换为bumen表中的字符串 ...

  3. 自定义cell时,在宽的手机上显示太窄解决办法

    1.工程设置要如下:见第二个红框,清除launch screan file 后面的内容 2.自定义的cell要设置auto layout 和size clases

  4. gcc代码反汇编查看内存分布[1]: gcc

    # gcc -vgcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5) 重点: 代码中的内存分配, 地址从低到高: 代码段(RO, 保存函数代码) --&g ...

  5. XML 学习之保存节点

    XmlDocumnet WriteTo 方法 说明: 保存xmldocument对象节点到xmlwriter(即xml文件写入流) 实例: public static void WriteXml( X ...

  6. [LeetCode]题解(python):023-Merge k Sorted Lists

    题目来源: https://leetcode.com/problems/merge-k-sorted-lists/ 题意分析: 给定k个有序的链表,将这些链表整合成一个新的有序链表. 题目思路: 前面 ...

  7. github每次push都需要密码以及用户名的解决办法

    git remote set-url origin git@github.com:你的账户/项目名称.git就可以直接git push origin master了.

  8. FPGA知识大梳理(二)verilogHDL语法入门(1)

    此文是写给0基础学习者,也是对自己知识点总结水平的考验. 对于有C基础的人来说,学习verilog应该是轻而易举 —— 类比法学习. 第一步:格式. 对于C来说我们前面会写  ‘include“std ...

  9. poj 1200 Crazy Search(hash)

    题目链接:http://poj.org/problem?id=1200 思路分析:从数据来看,该题目使用线性时间算法,可见子串的比较是不可能的:使用hash可以在常数时间内查找,可以常数时间内判重, ...

  10. CentOS6.4关闭触控板

    1. 检查是否安装xorg-x11-app; rpm -qa xorg-x11-apps 如果没有安装使用下面命令安装xorg-x11-app yum install xorg-x11-apps 2. ...