在MinGW下编译STLport

    MinGW 内置的标准库对Unicode不支持,所以我要在MinGW下编译STLport。

    MinGW版本:我的MinGW并不是选择的整合安装包,而是到www.mingw.org上下载当前的release版本组合起来的,g++的版本是3.42,make(mingw32-make)的版本是3.80。

    STLport版本:5.13,当前最新的release版本。

    假设mingw的安装目录为$mingwdir,stlport的安装目录为$stlportdir。

   1.将$mingwdir/bin设置在系统的path中。

   2.打开控制台,输入下面的命令:

  •  cd $stlport/build/lib
  •  configure -c gcc 
  • mingw32-make -fgcc.mak clean install-shared install-static

   3.经过漫长的等待,stlport就生成了,在$stlportdir/bin下面有动态版本,在$stlportdir/lib下面有动态和静态的库文件,可以把动态链接库复制到系统目录下面共享,把include和lib目录前置到mingw内置的库之前。

    4.注意事项:

  • STLport默认的编译目标all是只编译动态版本的 ,如果你只想要动态或者静态版本可以选择性编译。
  • mingw32-make -fgcc.mak clean 用来清除编译结果。
  • mingw32-make -fgcc.mak clobber 用来清除临时文件。    

    5.STLport在mingw中的使用

         先把$stlportdir/bin加入到系统path中,或者干脆把他们复制到系统文件夹,以便于执行的时候查找到它们。

  • 使用stlport动态库的方法:g++ main.cpp -mthreads -I$stlportdir/stlport -L$stlport/lib -lstlport.5.1 (stlport.5.1为ld指定stlport的动态链接库,如版本不同,就更改文件名)
  • 使用stlport静态库的方法:g++ main.cpp -mthreads -static D_STLP_USE_STATIC_LIB  -I$stlportdir/stlport -L$stlport/lib  -lstlport.5.1

    6.关于其他版本的stlport

        我尝试用g++3.42编译stlport 4.x版本,但是没有成功,在msys下面会提示编译错误。用g++3.42编译stlport5.0x的时候,则必须在msys下面输入上面的命令行内容才能编译成功,而5.1x则不需要这样。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值