vs2012编译cocos2dx 3.10报错解决方法

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

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

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

解决方法

打开UIScale9Sprite.cpp
 
用Ctrl+G跳到UIScale9Sprite.cpp(1172)改成:
[cpp] view plain copy
 
  1. //uvCoordinates = {Vec2(u0,v3), Vec2(u3,v0)};  
  2. Coordinates.push_back(Vec2(u0,v3));  
  3.           uvCoordinates.push_back(Vec2(u3,v0));  
 
用Ctrl+G跳到UIScale9Sprite.cpp(1178)改成:
[cpp] view plain copy
 
  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)改成:
[cpp] view plain copy
 
  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)改成:
[cpp] view plain copy
 
  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));  
 
然后再编译,问题解决了。
原文地址:https://www.cnblogs.com/Pond-ZZC/p/8743621.html