vs2012解决stlport安装编译冲突的问题

以前学习stlport的时候,安装了stlport到vs2008里面,最近在学习cocos2d-x的时候,发现在2.0版本上还是没有问题的,但是当升级到3.0版本后,需要使用vs2012以支持c++11的新特性,固同时安装了vs2012,但是出现编译中各种stlport冲突的问题,在新建的vc文件中,用到的一些c++11的新特性或者冲boost继承过来的特性也会产生编译不通过的问题。找了很多资料都没有解决,最后还是自己分析分析原因,多尝试了一些办法最后得到了很好地解决。


思来想去觉得还是包含文件的问题,因为在当时安装stlport的时候就遇到过这样的问题,会和c++标准库的问题件产生冲突,固在vs++目录中的库目录和包含目录中把stlport的相关stlport目录和lib目录放在了继承目录的上面,提高了他们的优先级。固当遇到stl编译冲突的时候可以在不删除stlport(以后随时可以用)的情况下通过降低stlport相关的目录优先级来解决。

由于在vs2012中不能按照以前版本的直接修改这几个vs++的包含目录,固需要找到相关方法来解决,既可以通过在项目的属性管理器中点击debug|win32下的Microsoft.Cpp.Win32.user来找到相关的设置,把stlport相关的设置从相关的库目录和包含目录中删除即可,在vs2008中可以直接在属性找到降级即可。

相关设置后效果如下



在运行相关的编译冲突处即可顺利通过编译,解决了我纠结好一阵子的问题。希望能帮助到遇到这困惑的朋友。下面是当我没有取消stlport时使用c++11的function函数提示没有模板错误,不能通过编译,在取消相关的stlport目录后vs2012成功找到相关的std::function,完成编译成功运行,如下图所示:



可以发现function已经找到相关的定义,不在提示找不到模板的错误。


此法可以解决编译stlport与c++11冲突的问题,特别是在vs2012的环境下,希望能帮助到遇到相同问题的朋友。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值