cocos2d-x 在IDE vs2010 出现error C2146: 语法错误: 缺少“;”(在标识符“PVOID64”的前面)编译错误解决方案
2013-11-14 10:04
447 查看
cocos2d-x 较高版本用到的IDE平台 vs2010 , 安装了vs2010旗舰版.
打开运行cocos2d-x-2.2.0中的HelloCpp项目,居然报错:
error
C2146: c:\program files\microsoft sdks\windows\v7.0a\include\winnt.h 语法错误: 缺少“;”(在标识符“PVOID64”的前面)
error C4430:
c:\program files\microsoft sdks\windows\v7.0a\include\winnt.h 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
这两错误是系统配置的问题,网上查找
说是vs的include顺序问题,也有人说既然是找不到PVOID64加个typedef就行了。
对于第二种方法当然是排除(系统文件可不能乱改)。
于是寻求第一种解决方案。
开始的坑人的排雷过程:依别人的做法:
在vs中,选择
工具->选项->项目和解决方案->VC++
目录,在 显示以下内容的目录 选择 包含文件,确保条目 $(WindowsSdkDir)\include 和 $(FrameworkSDKDir)include 在任何dx目录的前面。
我打开一看,我的妈啊
,编辑被否决了。(如果你幸运的话 就直接在这更改nclude顺序)。
不让改, 对于IDE不是很熟的我只能google起 visual c++ 2010 VC++目录编辑功能已被否决. 那过程别提了
先是
在vs的解决方案资源管理器中右键相应的项目,选择属性,在属性窗口的
配置属性 -> C/C++ -> 常规 中的 附加包含目录
发现在这改 只能此项目本身, 无法全局改变。于是又找了全局更改的方法
对于某一项目, 点击菜单:视图-》属性管理器, 弹出属性管理器窗口,点击项目展开如图:
右击Microsoft.Cpp.Win32.user 弹出属性页 如图
将原本的放在最后的 $(IncludePath) 这宏放到最前面, 将E:\Program Files\DXSDK\Include; 更改放在第二位置上。
确定后重新编译,顺利完成。
打开运行cocos2d-x-2.2.0中的HelloCpp项目,居然报错:
error
C2146: c:\program files\microsoft sdks\windows\v7.0a\include\winnt.h 语法错误: 缺少“;”(在标识符“PVOID64”的前面)
error C4430:
c:\program files\microsoft sdks\windows\v7.0a\include\winnt.h 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
这两错误是系统配置的问题,网上查找
说是vs的include顺序问题,也有人说既然是找不到PVOID64加个typedef就行了。
对于第二种方法当然是排除(系统文件可不能乱改)。
于是寻求第一种解决方案。
开始的坑人的排雷过程:依别人的做法:
在vs中,选择
工具->选项->项目和解决方案->VC++
目录,在 显示以下内容的目录 选择 包含文件,确保条目 $(WindowsSdkDir)\include 和 $(FrameworkSDKDir)include 在任何dx目录的前面。
我打开一看,我的妈啊
,编辑被否决了。(如果你幸运的话 就直接在这更改nclude顺序)。
不让改, 对于IDE不是很熟的我只能google起 visual c++ 2010 VC++目录编辑功能已被否决. 那过程别提了
先是
在vs的解决方案资源管理器中右键相应的项目,选择属性,在属性窗口的
配置属性 -> C/C++ -> 常规 中的 附加包含目录
发现在这改 只能此项目本身, 无法全局改变。于是又找了全局更改的方法
对于某一项目, 点击菜单:视图-》属性管理器, 弹出属性管理器窗口,点击项目展开如图:
右击Microsoft.Cpp.Win32.user 弹出属性页 如图
将原本的放在最后的 $(IncludePath) 这宏放到最前面, 将E:\Program Files\DXSDK\Include; 更改放在第二位置上。
确定后重新编译,顺利完成。
相关文章推荐
- VS2010编译出现“error C2146: 语法错误: 缺少“;”(在标识符“銆”的前面)”
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)[转]
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)
- 错误 1 error C2146: 语法错误: 缺少“;”(在标识符“PVOID64”的前面)
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面) 如何解决
- vs2010 语法错误: 缺少“;”(在标识符“PVOID64”的前面)
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)
- vlc\libvlc_structures.h(46) : error C2146: 语法错误 : 缺少“;”(在标识符“libvlc_time_t”的前面)问题的解决方案
- DX9.0 sdk开发中遇到的 winNT.h中错误error C2146: 语法错误: 缺少“;”(在标识符“PVOID64”的前面)
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)
- 程序编译出错,缺少类型说明符;语法错误 : 缺少“;”(在标识符“PVOID64”的前面)
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面) 如何解决
- error C2146: 语法错误: 缺少“;”(在标识符“PVOID64”的前面)
- error C2146: 语法错误: 缺少“;”(在标识符“WINAPI”的前面) 及 “error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int” 解决方案