日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

程序编译出错,缺少类型说明符;语法错误 : 缺少“;”(在标识符“PVOID64”的前面)

發布時間:2025/4/16 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 程序编译出错,缺少类型说明符;语法错误 : 缺少“;”(在标识符“PVOID64”的前面) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1>正在編譯...?
1>stdafx.cpp?
1>E:/VS2005/VC/PlatformSDK/include/winnt.h(222) : error C2146: 語法錯誤 : 缺少“;”(在標識符“PVOID64”的前面)?
1>E:/VS2005/VC/PlatformSDK/include/winnt.h(222) : error C4430: 缺少類型說明符 - 假定為 int。注意: C++ 不支持默認 int?
1>E:/VS2005/VC/PlatformSDK/include/winnt.h(5940) : error C2146: 語法錯誤 : 缺少“;”(在標識符“Buffer”的前面)?
1>E:/VS2005/VC/PlatformSDK/include/winnt.h(5940) : error C4430: 缺少類型說明符 - 假定為 int。注意: C++ 不支持默認 int?
1>E:/VS2005/VC/PlatformSDK/include/winnt.h(5940) : error C4430: 缺少類型說明符 - 假定為 int。注意: C++ 不支持默認 int 問題補充:我的編譯環境為visual studio 2005 SP1(由于在vista下,所以還打了vs2005 for vista的補丁)。?
打開winnt.h文件,發現問題就是在winnt.h頭文件中無POINTER_64的定義造成的。搜索vc下的頭文件,發現在basetsd.h頭文件中有POINTER_64的定義,而在winnt.h頭文件中也包含了該頭文件。于是直接把basetsd.h頭文件中關于POINTER_64的宏定義(#define POINTER_64 __ptr64)抄過來,放在?
typedef void *PVOID;?
typedef void * POINTER_64 PVOID64;?
這兩句的前面,再編譯就無該問題了。?
雖然如此解決了編譯問題,但總覺得不妥,于是又在網上搜了一下。發現也有人跟我一樣的解決,但在microsoft的論壇上發現問題其實是頭文件搜索順序引起的。由于我安裝了dxsdk9,dxsdk9的頭文件搜索順序在platformsdk之前。而在dxsdk9中也有basetsd.h頭文件,而該文件無POINTER_64的定義,因此編譯通不過。調整頭文件搜索順序后,編譯就無問題了。

總結

以上是生活随笔為你收集整理的程序编译出错,缺少类型说明符;语法错误 : 缺少“;”(在标识符“PVOID64”的前面)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。