vs2012安装cocos2d-x环境搭建中出现的与stl版本不兼容问题

最近一直在看cocos2d-x的2.x版本,发现3.0的出来了,而且版本变换比较大,考虑到以后的时间开发工作,准备先搭建个vs下的环境,由于较高级的版本已经不对VS2008支持了,我的电脑之前也只有2008版本,固先下载安装了2012版本,更具网上教程,先安装了python的环境,并设置了path,都比较简单。

做好准备后,下载了cocos2d-x的3.0版本

解压完毕打开后找到相关的sln打开,对项目进行编译后,发现各种报错,出现了与我以前的安装过的stl版本的不匹配问题,项目也不能正常生成,本来想卸载掉以前的stl,但想想应该是版本匹配和环境安装的问题,就开始琢磨。


经过一阵子研究,发现有几个问题,以前的vs版本在配置C++是有相关的类库选择的


但在vs2012中已经被禁用,如下图所示




而程序编译中的报错基本都是stl中的类库,包括traits等,很多很多。在查找各种资料发现,其实时stl版本对新版的vs2010以后的版本支持不好,我开始用的vs2008编译cocos2d-x的2.x版本就没问题。 后来定位到STLport-5.2.1目录下的_cstdlib.h文件,第158行,做下面的文件替换:

58行:
158 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
这样保存并重新编译安装即可。

完成后就不会出现于stlport相关的错误,但是编译时出现找不到stlportd5.2.2.的错误,还是不能编译,这时找到自己的stl文件,在bin目录下面找到相关的dll代码,然后复制到C:\Windows\SysWOW64中即可,再次编译,就能够成功运行。效果如下图:



成功运行,开始我的cocos2d-x 3.0的学习之路,不得不说,游戏引擎的变化太快了,没个版本的硬件配置和要求都不一样,一定要保持足够的耐心和冷静的分析问题,解决问题的能力,自己以前最怕的就是个各种环境搭建,现在用的软件多了,感觉还是可以分析搞定这些让自己头大的东西。希望能够被遇见同样问题的朋友看见~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值