【已解决】vs2010编译cocos2dx-2.1.5a的工程报错

1>生成启动时间为 2013/8/27 12:18:25。
1>_PrepareForClean:
1> 正在删除文件“Debug.win32libcocos2d.lastbuildstate”。
1>InitializeBuildStatus:
1> 正在对“Debug.win32libcocos2d.unsuccessfulbuild”执行 Touch 任务。
2>生成启动时间为 2013/8/27 12:18:25。
2>_PrepareForClean:
2> 正在删除文件“Debug.win32libBox2D.lastbuildstate”。
2>InitializeBuildStatus:
2> 正在对“Debug.win32libBox2D.unsuccessfulbuild”执行 Touch 任务。
1>ClCompile:
1> cocos2d.cpp
2>ClCompile:
2> b2Rope.cpp
2> b2WheelJoint.cpp
1>c:program filesmicrosoft sdkswindowsv7.0aincludewinnt.h(2234): error C2118: 负下标
1>c:program filesmicrosoft sdkswindowsv7.0aincludewinnt.h(2235): error C2118: 负下标
1>c:program filesmicrosoft sdkswindowsv7.0aincludewinnt.h(2238): error C2118: 负下标
1>c:program filesmicrosoft sdkswindowsv7.0aincludewinnt.h(3650): warning C4391: “BOOLEAN _bittest(const LONG *,LONG)”: 不正确的内部函数返回类型,应为“unsigned char”
1>c:program filesmicrosoft sdkswindowsv7.0aincludewinnt.h(3656): warning C4391: “BOOLEAN _bittestandcomplement(LONG *,LONG)”: 不正确的内部函数返回类型,应为“unsigned char”
1>c:program filesmicrosoft sdkswindowsv7.0aincludewinnt.h(3662): warning C4391: “BOOLEAN _bittestandset(LONG *,LONG)”: 不正确的内部函数返回类型,应为“unsigned char”
1>c:program filesmicrosoft sdkswindowsv7.0aincludewinnt.h(3668): warning C4391: “BOOLEAN _bittestandreset(LONG *,LONG)”: 不正确的内部函数返回类型,应为“unsigned char”
1>c:program filesmicrosoft sdkswindowsv7.0aincludewinnt.h(3674): warning C4391: “BOOLEAN _interlockedbittestandset(volatile LONG *,LONG)”: 不正确的内部函数返回类型,应为“unsigned char”
1>c:program filesmicrosoft sdkswindowsv7.0aincludewinnt.h(3680): warning C4391: “BOOLEAN _interlockedbittestandreset(volatile LONG *,LONG)”: 不正确的内部函数返回类型,应为“unsigned char”
1>c:program filesmicrosoft sdkswindowsv7.0aincludewinnt.h(3682): warning C4391: “BOOLEAN _bittest(const LONG *,LONG)”: 不正确的内部函数返回类型,应为“unsigned char”
1>c:program filesmicrosoft sdkswindowsv7.0aincludewinnt.h(3683): warning C4391: “BOOLEAN _bittestandcomplement(LONG *,LONG)”: 不正确的内部函数返回类型,应为“unsigned char”
1>c:program filesmicrosoft sdkswindowsv7.0aincludewinnt.h(3684): warning C4391: “BOOLEAN _bittestandset(LONG *,LONG)”: 不正确的内部函数返回类型,应为“unsigned char”
1>c:program filesmicrosoft sdkswindowsv7.0aincludewinnt.h(3685): warning C4391: “BOOLEAN _bittestandreset(LONG *,LONG)”: 不正确的内部函数返回类型,应为“unsigned char”
1>c:program filesmicrosoft sdkswindowsv7.0aincludewinnt.h(3686): warning C4391: “BOOLEAN _interlockedbittestandset(volatile LONG *,LONG)”: 不正确的内部函数返回类型,应为“unsigned char”
1>c:program filesmicrosoft sdkswindowsv7.0aincludewinnt.h(3687): warning C4391: “BOOLEAN _interlockedbittestandreset(volatile LONG *,LONG)”: 不正确的内部函数返回类型,应为“unsigned char”
1>c:program filesmicrosoft sdkswindowsv7.0aincludewinnt.h(3701): warning C4391: “BOOLEAN _BitScanForward(DWORD *,DWORD)”: 不正确的内部函数返回类型,应为“unsigned char”
1>c:program filesmicrosoft sdkswindowsv7.0aincludewinnt.h(3708): warning C4391: “BOOLEAN _BitScanReverse(DWORD *,DWORD)”: 不正确的内部函数返回类型,应为“unsigned char”
1>c:program filesmicrosoft sdkswindowsv7.0aincludewinnt.h(3710): warning C4391: “BOOLEAN _BitScanForward(DWORD *,DWORD)”: 不正确的内部函数返回类型,应为“unsigned char”
1>c:program filesmicrosoft sdkswindowsv7.0aincludewinnt.h(3711): warning C4391: “BOOLEAN _BitScanReverse(DWORD *,DWORD)”: 不正确的内部函数返回类型,应为“unsigned char”
1>c:program filesmicrosoft sdkswindowsv7.0aincludewinnt.h(3819): warning C4391: “BYTE __readfsbyte(DWORD)”: 不正确的内部函数返回类型,应为“unsigned char”
1>c:program filesmicrosoft sdkswindowsv7.0aincludewinnt.h(3849): warning C4391: “BYTE __readfsbyte(DWORD)”: 不正确的内部函数返回类型,应为“unsigned char”
1>c:program filesmicrosoft sdkswindowsv7.0aincludewinnt.h(4174): error C2118: 负下标

有很多这样的问题,请问怎么解决?

在网上找了原因,据说是因为装了windows SDK 的原因,我吧vs2010重新装了一下就好了

经过测试 2.1.5a VS2010 正常编译通过 你打SP1的补丁了吗?