linux stl 编译,STL Port编译,Windows/Linux

Window下

一、下载

文件名:STLport-5.2.1.tar.bz2

下载地址:

二、解压缩

将STLport-5.2.1.tar.bz2解压缩到:D:\Installed software for develop\STLport-5.2.1。

三、编译

3.1 打开

开始 --> 所有程序 --> Microsoft Visual Studio 2010  --> Visual Studio Tools  --> Visual Studio 命令提示(2010)

3.2 配置编译环境

切换目录:cd D:\Installed software for develop\STLport-5.2.1\STLport-5.2.1

配置编译环境:configure msvc9   (执行configure msvc10 ,出现Unknown compiler: msvc10,msvc9 即可)

3.3 编译

切换目录:cd D:\Installed software for develop\STLport-5.2.1\STLport-5.2.1\build\lib

编译: nmake clean install

四、生成结果

生成stlport.5.2.dll,在目录:D:\Installed software for develop\STLport-5.2.1\STLport-5.2.1\bin下。

生成stlport.5.2.lib,在目录:D:\Installed software for develop\STLport-5.2.1\STLport-5.2.1\lib下。

五、错误处理

5.1 错误现象

编译时,出现如下错误:

D:\Installed software for develop\STLport-5.2.1\STLport-5.2.1\stlport\stl/_cstdl

ib.h(158) : error C2084: 函数“__int64 abs(__int64)”已有主体

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\../includ

e/stdlib.h(471) : 参见“abs”的前一个定义

NMAKE : fatal error U1077: “"C:\Program Files (x86)\Microsoft Visual Studio 10.

0\VC\BIN\cl.EXE"”: 返回代码“0x2”

Stop.

5.2 错误处理

找到_cstdlib.h文件第158行,(D:\Installed software for develop\STLport-5.2.1\STLport-5.2.1\stlport\stl\_cstdlib.h)将:

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

改为

#if !defined(_STLP_MSVC) || (_STLP_MSVC < 1600)

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

#endif

重新执行nmake clean install编译。

Linux下

一、下载

文件名:STLport-5.2.1.tar.bz2

下载地址:

二、解压缩

将STLport-5.2.1.tar.bz2解压缩到:/opt/STLport-5.2.1。

tar jxvf STLport-5.2.1.tar.bz2。

三、编译

cd /opt/STLport-5.2.1/build/lib

make -f gcc.mak depend

make -f gcc.mak install

四、生成结果

生成libstlport.so,在目录/usr/local/lib/下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值