欢迎光临Software MyZone,有问题可留言或到站点论坛发帖,争取第一时间帮忙解决 || 站点论坛:火龙论坛 || 淘宝小店:应小心的易淘屋 【欢迎大家提建设性意见】

vs2012编译cocos2dx 3.10报错解决方法

欢迎热爱编程的朋友们参与到cocos2d-x编程中,为了给大家提供良好的交流环境,网站以开启QQ群
Software MyZone:66202765(群号,欢迎加入,若满,请加1群)
Software MyZone 1群(2dx):286504621
Software MyZone 2群(山东):204954191
Software MyZone【Java群】:162865493
【加群请写:Software MyZone或者是firedragonpzy】
淘宝店:【58买单】初次开店,大家多多支持……
群论坛:【火龙论坛】正试运营阶段,欢迎大家多提些建设性意见……
短视频:【短视频去水印】支持抖音、快手等短视频去水印……
群问答:【火龙问答】正试运营阶段,欢迎大家多提些建设性意见……
摘自:https://blog.csdn.net/ruanlinxi1994/article/details/75637052

我的digitalocean推广链接:https://www.digitalocean.com/?refcode=65dfdb158f1a,Everyone you refer gets $10 in credit,从此链接注册,你将获得10美元。

新建的一个cocos工程没有改过任何代码直接编译居然报错了?

百度了一下原来是因为vs2012不支持c++11的部分特性

cocos2dx 3.10正好就用到了vs2012不支持的那部分特性,所以报错了。

解决方法

打开UIScale9Sprite.cpp
用Ctrl+G跳到UIScale9Sprite.cpp(1172)改成:
  1. //uvCoordinates = {Vec2(u0,v3), Vec2(u3,v0)};
  2. uvCoordinates.push_back(Vec2(u0,v3));
  3. uvCoordinates.push_back(Vec2(u3,v0));

用Ctrl+G跳到UIScale9Sprite.cpp(1178)改成:

  1. //uvCoordinates = {Vec2(u0,v3), Vec2(u1,v2), Vec2(u2,v1), Vec2(u3,v0)};
  2. uvCoordinates.push_back(Vec2(u0,v3));
  3. uvCoordinates.push_back(Vec2(u1,v2));
  4. uvCoordinates.push_back(Vec2(u2,v1));
  5. uvCoordinates.push_back(Vec2(u3,v0));

用Ctrl+G跳到UIScale9Sprite.cpp(1216)改成:

  1. //vertices = {Vec2(offsetLeft * hScale, offsetBottom * vScale),
  2. // Vec2(_preferredSize.width – offsetRight * hScale, _preferredSize.height – offsetTop * vScale)};
  3. vertices.push_back(Vec2(offsetLeft * hScale, offsetBottom * vScale));
  4. vertices.push_back(Vec2(_preferredSize.width – offsetRight * hScale, _preferredSize.height – offsetTop * vScale));

用Ctrl+G跳到UIScale9Sprite.cpp(1307)改成:

  1. //vertices = {Vec2(x0,y0), Vec2(x1,y1), Vec2(x2,y2), Vec2(x3,y3)};
  2. vertices.push_back(Vec2(x0,y0));
  3. vertices.push_back(Vec2(x1,y1));
  4. vertices.push_back(Vec2(x2,y2));
  5. vertices.push_back(Vec2(x3,y3));

然后再编译,问题解决了。

发表评论