error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)
2013-11-17 17:02
441 查看
在用vs2008编译一个dx8项目遇到编译错误:
c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(236) : error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)
c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(236) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(7818) : error C2146: 语法错误 : 缺少“;”(在标识符“Buffer”的前面)
c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(7818) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(7818) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
网上有人说是vs的include顺序问题,也有人说既然是找不到PVOID64加个typedef就行了。经过本人的试验发现,的确是vs的include顺序问题,调整include顺序保证dx目录在sdk目录的下面即可解决问题。下面记录步骤:
1、在vs中,选择 工具->选项->项目和解决方案->VC++ 目录,在 显示以下内容的目录 选择 包含文件,确保条目 $(WindowsSdkDir)\include 和 $(FrameworkSDKDir)include 在任何dx目录的前面。如果没有dx目录也ok(指的不会有这个错误)。如下图:
2、在vs的解决方案资源管理器中右键相应的项目,选择属性,在属性窗口的 配置属性 -> C/C++ -> 常规 中的 附加包含目录,点击其右边的小按钮,在弹出的附加包含目录中,确保条目 $(WindowsSdkDir)\include 和 $(FrameworkSDKDir)include 在任何dx目录的前面。如下图:
c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(236) : error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)
c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(236) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(7818) : error C2146: 语法错误 : 缺少“;”(在标识符“Buffer”的前面)
c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(7818) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(7818) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
网上有人说是vs的include顺序问题,也有人说既然是找不到PVOID64加个typedef就行了。经过本人的试验发现,的确是vs的include顺序问题,调整include顺序保证dx目录在sdk目录的下面即可解决问题。下面记录步骤:
1、在vs中,选择 工具->选项->项目和解决方案->VC++ 目录,在 显示以下内容的目录 选择 包含文件,确保条目 $(WindowsSdkDir)\include 和 $(FrameworkSDKDir)include 在任何dx目录的前面。如果没有dx目录也ok(指的不会有这个错误)。如下图:
2、在vs的解决方案资源管理器中右键相应的项目,选择属性,在属性窗口的 配置属性 -> C/C++ -> 常规 中的 附加包含目录,点击其右边的小按钮,在弹出的附加包含目录中,确保条目 $(WindowsSdkDir)\include 和 $(FrameworkSDKDir)include 在任何dx目录的前面。如下图:
相关文章推荐
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面) 如何解决
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)
- error C2146: 语法错误: 缺少“;”(在标识符“PVOID64”的前面)
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)
- DX9.0 sdk开发中遇到的 winNT.h中错误error C2146: 语法错误: 缺少“;”(在标识符“PVOID64”的前面)
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)[转]
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)
- 错误 1 error C2146: 语法错误: 缺少“;”(在标识符“PVOID64”的前面)
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面) 如何解决
- cocos2d-x 在IDE vs2010 出现error C2146: 语法错误: 缺少“;”(在标识符“PVOID64”的前面)编译错误解决方案
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)[转]
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)
- error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)[转]
- vs2010 语法错误: 缺少“;”(在标识符“PVOID64”的前面)
- VS2013 error C2146: 语法错误: 缺少“;”(在标识符“PVOID64”的前面) winnt.h 340