VS2010编译调试STL源代码

本文介绍如何在Windows 7 32位系统上使用VS2010编译并安装STL 5.2.1源代码。解决编译过程中遇到的错误,并将编译好的库集成到VS2010新建项目中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

平台环境:windows 7 32位+VS2010+STL源代码5.2.1

STL在sourceforge下载,如果不可以下载,可以在csdn下载。

下载好源码后,首先解压到硬盘,我解压到D:\STL。

在vs2010 tools选择“Visual Studio 命令提示(VS2010)”


在cmd窗口,目录切换到刚刚解压源码的根目录,


输入configure -help查看编译选项


显示平台式XP,这里暂时不管。

输入configure msvc9配置环境


上面红框里面的内容不用去管。

之后切换目录到build/lib中,输入nmake clean install编译,出现如下错误:


是头文件_cstdlib.h中158行处的问题,用的是32位机,_int64可能不支持,注释掉这一行。

在目录STLport-5.2.1\stlport\stl中找到_cstdlib.h,注释掉158行

//inline _STLP_LONG_LONG  abs(_STLP_LONG_LONG __x) { return __x < 0 ? -__x : __x; }

之后再运行nmake clean install即可编译安装,过程需要几分钟。

之后就可以在VS2010中使用了。打开VS2010,新建一个工程,我新建的是空的控制台工程。

在工程上面右键-选择属性,

我们要把刚刚编译的库包含到这个工程里面,选择VC++目录,在包含目录中添加STLport-5.2.1\stlport目录,在库目录添加STLport-5.2.1\lib目录,然后确定。

然后把STLport-5.2.1\bin目录下的六个文件复制到刚刚新建的工程的根目录,注意是“工程的根目录”,不是整个解决方案的根目录。之后就可以使用了,调试就可以进入源代码查看了执行过程了。

STL还可以配合下面宏定义使用:

#define _STLP_USE_STATIC_LIB    // 使用 STLport 静态库   
#define _STLP_USE_DYNAMIC_LIB   // 使用 STLport 动态库 
#define _STLP_DEBUG             // STLport 启用 Debug 模式下的检查功能   
#define _STLP_USE_BOOST_SUPPORT // STLport 与 Boost 库配合使用

附刚刚建的工程的代码,很简单,注意include时用双引号,不要用尖括号了。

#include<iostream>
#include"vector"
using namespace std;
int main()
{
	vector<int> v;
	v.push_back(1);
	v.push_back(2);
	return 0;
}


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值