cocos2dx——warning C4018: “<”: 有符号/无符号不匹配

warning C4018: “<”: 有符号/无符号不匹配
出错代码:  for(int j=0;j<detector.size();j++)

出错原因分析:  detector 是一个Vector容器 ,detecot.size() 在容器说明中 被定义为: unsigned int 类型, 而j是int 类型 所以会出现: 有符号/无符号不匹配警告

错误改正:  定义j为unsigned类型后就可以了

即: for(unsigned int j=0;j<detector.size();j++)
或者 : for(size_t int j=0;j<detector.size();j++) 
我从cocos官网下载了最新的cocos2d-x V3.10版本,本地解压后,打开build文件夹下的相应的win32的sln解决文件后, 在vs2012(中文旗舰版)中,编译出错了,望各路大神不吝赐教,感激不尽!!!(我电脑的os是win7的) ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓Log如下↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 1>------ 已启动生成: 项目: libcocos2d, 配置: Debug Win32 ------ 1>项目文件包含 ToolsVersion="12.0"。此工具集可能未知或缺失。在这种情况下,通过安装 MSBuild 的正确版本,或许可以解决此问题。否则,该 build 可能已因策略原因而被强制为某个特定 ToolsVersion。将该项目视为其已具有 ToolsVersion="4.0"。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=291333。 1>项目文件包含 ToolsVersion="12.0"。此工具集可能未知或缺失。在这种情况下,通过安装 MSBuild 的正确版本,或许可以解决此问题。否则,该 build 可能已因策略原因而被强制为某个特定 ToolsVersion。将该项目视为其已具有 ToolsVersion="4.0"。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=291333。 1>项目文件包含 ToolsVersion="12.0"。此工具集可能未知或缺失。在这种情况下,通过安装 MSBuild 的正确版本,或许可以解决此问题。否则,该 build 可能已因策略原因而被强制为某个特定 ToolsVersion。将该项目视为其已具有 ToolsVersion="4.0"。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=291333。 1>项目文件包含 ToolsVersion="12.0"。此工具集可能未知或缺失。在这种情况下,通过安装 MSBuild 的正确版本,或许可以解决此问题。否则,该 build 可能已因策略原因而被强制为某个特定 ToolsVersion。将该项目视为其已具有 ToolsVersion="4.0"。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=291333。 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: 语法错误:“{” 1>..\ui\UIScale9Sprite.cpp(1210): error C2143: 语法错误 : 缺少“;”(在“{”的前面) 1>..\ui\UIScale9Sprite.cpp(1210): error C2143: 语法错误 : 缺少“;”(在“}”的前面) 1>..\ui\UIScale9Sprite.cpp(1299): error C2059: 语法错误:“{” 1>..\ui\UIScale9Sprite.cpp(1299): error C2143: 语法错误 : 缺少“;”(在“{”的前面) 1>..\ui\UIScale9Sprite.cpp(1299): error C2143: 语法错误 : 缺少“;”(在“}”的前面) 2>------ 已启动生成: 项目: cpp-tests, 配置: Debug Win32 ------ 2> 复制了 0 个文件 2> 找不到文件 - *.dll 2> 复制了 0 个文件 2> LabelTestNew.cpp 2> NavMeshTest.cpp 2> UIScale9SpriteTest.cpp 2> controller.cpp 2>C:\cocos2d-x-3.10\external\chipmunk\include\chipmunk\chipmunk.h(26): warning C4005: “_USE_MATH_DEFINES”: 宏重定义 (..\Classes\controller.cpp) 2> 命令行参数: 参见前面的“_USE_MATH_DEFINES”定义 2>..\Classes\UITest\CocoStudioGUITest\UIScale9SpriteTest.cpp(989): error C2552: “spriteFrameNameArray”: 不能用初始值设定项列表初始化非聚合 2> “std::vector<_Ty>”: 不聚合带基的类型 2> with 2> [ 2> _Ty=std::string 2> ] 2> DrawPrimitivesTest.cpp 2>c:\cocos2d-x-3.10\tests\cpp-tests\classes\ActionManagerTest/ActionManagerTest.h(92): error C2864: “StopActionsByFlagsTest::kMoveFlag”: 只有静态常量整型数据成员才可以在类中初始化 (..\Classes\controller.cpp) 2>c:\cocos2d-x-3.10\tests\cpp-tests\classes\ActionManagerTest/ActionManagerTest.h(93): error C2864: “StopActionsByFlagsTest::kScaleFlag”: 只有静态常量整型数据成员才可以在类中初始化 (..\Classes\controller.cpp) 2>c:\cocos2d-x-3.10\tests\cpp-tests\classes\ActionManagerTest/ActionManagerTest.h(94): error C2864: “StopActionsByFlagsTest::kRotateFlag”: 只有静态常量整型数据成员才可以在类中初始化 (..\Classes\controller.cpp) 2>c:\cocos2d-x-3.10\tests\cpp-tests\classes\ActionManagerTest/ActionManagerTest.h(95): error C2864: “StopActionsByFlagsTest::kRepeatForeverFlag”: 只有静态常量整型数据成员才可以在类中初始化 (..\Classes\controller.cpp) 2>c:\cocos2d-x-3.10\tests\cpp-tests\classes\ActionManagerTest/ActionManagerTest.h(86): error C2512: “StopActionsByFlagsTest”: 没有合适的默认构造函数可用 (..\Classes\controller.cpp) 2>..\Classes\LabelTest\LabelTestNew.cpp(1027): warning C4018: “<”: 有符号/无符号匹配 2>c:\cocos2d-x-3.10\external\bullet\bulletcollision\broadphasecollision\btDbvtBroadphase.h(62): warning C4099: “btDbvtBroadphase”: 类型名称以前使用“class”现在使用的是“struct” (..\Classes\NavMeshTest\NavMeshTest.cpp) 2> c:\cocos2d-x-3.10\cocos\physics3d\CCPhysics3DWorld.h(39) : 参见“btDbvtBroadphase”的声明 2>..\Classes\LabelTest\LabelTestNew.cpp(1841): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 2>..\Classes\LabelTest\LabelTestNew.cpp(2524): error C2552: “labelTypes”: 不能用初始值设定项列表初始化非聚合 2> “std::vector<_Ty>”: 不聚合带基的类型 2> with 2> [ 2> _Ty=std::string 2> ] 2>..\Classes\NavMeshTest\NavMeshTest.cpp(181): error C2143: 语法错误 : 缺少“;”(在“{”的前面) 2>..\Classes\NavMeshTest\NavMeshTest.cpp(181): error C2143: 语法错误 : 缺少“;”(在“}”的前面) 2>..\Classes\LabelTest\LabelTestNew.cpp(2665): error C2552: “labelTypes”: 不能用初始值设定项列表初始化非聚合 2> “std::vector<_Ty>”: 不聚合带基的类型 2> with 2> [ 2> _Ty=std::string 2> ] 2> ActionManagerTest.cpp 2>..\Classes\DrawPrimitivesTest\DrawPrimitivesTest.cpp(317): error C2552: “cocos2d::V3F_C4B_T2F::vertices”: 不能用初始值设定项列表初始化非聚合 2> “cocos2d::Vec3”: 不聚合带用户定义的构造函数的类型 2>..\Classes\DrawPrimitivesTest\DrawPrimitivesTest.cpp(318): error C2552: “cocos2d::V3F_C4B_T2F::vertices”: 不能用初始值设定项列表初始化非聚合 2> “cocos2d::Vec3”: 不聚合带用户定义的构造函数的类型 2>..\Classes\DrawPrimitivesTest\DrawPrimitivesTest.cpp(319): error C2552: “cocos2d::V3F_C4B_T2F::vertices”: 不能用初始值设定项列表初始化非聚合 2> “cocos2d::Vec3”: 不聚合带用户定义的构造函数的类型 2>..\Classes\DrawPrimitivesTest\DrawPrimitivesTest.cpp(320): error C2552: “cocos2d::V3F_C4B_T2F::vertices”: 不能用初始值设定项列表初始化非聚合 2> “cocos2d::Vec3”: 不聚合带用户定义的构造函数的类型 2>c:\cocos2d-x-3.10\tests\cpp-tests\classes\actionmanagertest\ActionManagerTest.h(92): error C2864: “StopActionsByFlagsTest::kMoveFlag”: 只有静态常量整型数据成员才可以在类中初始化 (..\Classes\ActionManagerTest\ActionManagerTest.cpp) 2>c:\cocos2d-x-3.10\tests\cpp-tests\classes\actionmanagertest\ActionManagerTest.h(93): error C2864: “StopActionsByFlagsTest::kScaleFlag”: 只有静态常量整型数据成员才可以在类中初始化 (..\Classes\ActionManagerTest\ActionManagerTest.cpp) 2>c:\cocos2d-x-3.10\tests\cpp-tests\classes\actionmanagertest\ActionManagerTest.h(94): error C2864: “StopActionsByFlagsTest::kRotateFlag”: 只有静态常量整型数据成员才可以在类中初始化 (..\Classes\ActionManagerTest\ActionManagerTest.cpp) 2>c:\cocos2d-x-3.10\tests\cpp-tests\classes\actionmanagertest\ActionManagerTest.h(95): error C2864: “StopActionsByFlagsTest::kRepeatForeverFlag”: 只有静态常量整型数据成员才可以在类中初始化 (..\Classes\ActionManagerTest\ActionManagerTest.cpp) 2>c:\cocos2d-x-3.10\tests\cpp-tests\classes\actionmanagertest\ActionManagerTest.h(86): error C2512: “StopActionsByFlagsTest”: 没有合适的默认构造函数可用 (..\Classes\ActionManagerTest\ActionManagerTest.cpp) ========== 生成: 成功 0 个,失败 2 个,最新 4 个,跳过 0 个 ==========
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页