vs2012编译cocos2dx 3.10报错解决方法

来源:互联网 发布:调查问卷软件 编辑:程序博客网 时间:2024/04/27 21:12

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

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

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

解决方法

打开UIScale9Sprite.cpp

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

用Ctrl+G跳到UIScale9Sprite.cpp(1178)改成:
            //uvCoordinates = {Vec2(u0,v3), Vec2(u1,v2), Vec2(u2,v1), Vec2(u3,v0)};uvCoordinates.push_back(Vec2(u0,v3));  uvCoordinates.push_back(Vec2(u1,v2));  uvCoordinates.push_back(Vec2(u2,v1));  uvCoordinates.push_back(Vec2(u3,v0));  

用Ctrl+G跳到UIScale9Sprite.cpp(1216)改成:
 //vertices = {Vec2(offsetLeft * hScale, offsetBottom * vScale),            //            Vec2(_preferredSize.width - offsetRight * hScale, _preferredSize.height - offsetTop * vScale)};vertices.push_back(Vec2(offsetLeft * hScale, offsetBottom * vScale));vertices.push_back(Vec2(_preferredSize.width - offsetRight * hScale, _preferredSize.height - offsetTop * vScale));

用Ctrl+G跳到UIScale9Sprite.cpp(1307)改成:
//vertices = {Vec2(x0,y0), Vec2(x1,y1), Vec2(x2,y2), Vec2(x3,y3)};vertices.push_back(Vec2(x0,y0));vertices.push_back(Vec2(x1,y1));vertices.push_back(Vec2(x2,y2));vertices.push_back(Vec2(x3,y3));

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




原创粉丝点击