VS2012运行最新版本的Cocos3.10出现的Bug

时间:2023-02-06 20:35:34

1.    VS2012加载VS2010项目时候,出现

1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.Cpp.Platform.targets(64,5): error MSB8020: The build tools for Visual Studio 2012 
(Platform Toolset = 'v110') cannot be found. To build using the v110 build tools, please install Visual Studio 2012 build tools. Alternatively, you
may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Upgrade Solution...".


编译平台工具集选择错了,VS2012程序在打开的时候,默认是使用V110编译平台工具集,而V110是VS2012的编译平台,你电脑里没有安装此平台工具集,故提示此错误。  你可以打开项目属性,把平台工具集改一下即可。

解决方案见红色部分。如下

VS2012运行最新版本的Cocos3.10出现的BugVS2012运行最新版本的Cocos3.10出现的Bug



2.

1>------ 已启动生成: 项目: libcocos2d, 配置: Debug Win32 ------
1>项目文件包含 ToolsVersion="12.0" 设置,但此工具集未知或缺失。您可以通过为此工具集安装相应的 .NET Framework 来解决此问题。将项目视为具有 ToolsVersion="4.0" 设置。
1>项目文件包含 ToolsVersion="12.0" 设置,但此工具集未知或缺失。您可以通过为此工具集安装相应的 .NET Framework 来解决此问题。将项目视为具有 ToolsVersion="4.0" 设置。
1>项目文件包含 ToolsVersion="12.0" 设置,但此工具集未知或缺失。您可以通过为此工具集安装相应的 .NET Framework 来解决此问题。将项目视为具有 ToolsVersion="4.0" 设置。
1>项目文件包含 ToolsVersion="12.0" 设置,但此工具集未知或缺失。您可以通过为此工具集安装相应的 .NET Framework 来解决此问题。将项目视为具有 ToolsVersion="4.0" 设置。
1>  UIScale9Sprite.cpp

1>..\ui\UIScale9Sprite.cpp(1172): error C2059: 语法错误:“{”
1>..\ui\UIScale9Sprite.cpp(1172): error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>..\ui\UIScale9Sprite.cpp(1172): error C2143: 语法错误 : 缺少“;”(在“}”的前面)
1>..\ui\UIScale9Sprite.cpp(1176): error C2059: 语法错误:“{”
1>..\ui\UIScale9Sprite.cpp(1176): error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>..\ui\UIScale9Sprite.cpp(1176): error C2143: 语法错误 : 缺少“;”(在“}”的前面)
1>..\ui\UIScale9Sprite.cpp(1210): error C2059: 语法错误:“{”

解决方案

vs2012对C++11语法支持不全,那个语法刚好就是它不支持的。
如下将
           uvCoordinates = {Vec2(u0,v3), Vec2(u3,v0)};
改成为
            uvCoordinates.push_back(Vec2(u0,v3));
            uvCoordinates.push_back(Vec2(u3,v0));

在UIScale9Sprite.cpp修改,注释部分改为以下即可

VS2012运行最新版本的Cocos3.10出现的Bug

VS2012运行最新版本的Cocos3.10出现的BugVS2012运行最新版本的Cocos3.10出现的Bug