正在编译...
dllentry.cpp
C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/include/winnt.h(222) : error C2146: 语法错误: 缺少“;”(在标识符“PVOID64”的前面)
C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/include/winnt.h(222) : error C4430: 缺少类型说明符- 假定为int。注意: C++ 不支持默认int
C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/include/winnt.h(5940) : error C2146: 语法错误: 缺少“;”(在标识符“Buffer”的前面)
C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/include/winnt.h(5940) : error C4430: 缺少类型说明符- 假定为int。注意: C++ 不支持默认int
C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/include/winnt.h(5940) : error C4430: 缺少类型说明符- 假定为int。注意: C++ 不支持默认int
c:/Program Files/DXSDK/Extras/DirectShow/Samples/C++/DirectShow/BaseClasses/ctlutil.h(278) : error C4430: 缺少类型说明符- 假定为int。注意: C++ 不支持默认int
c:/Program Files/DXSDK/Extras/DirectShow/include/uuids.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为Unicode 格式以防止数据丢失
生成日志保存在“file://c:/Program Files/DXSDK/Extras/DirectShow/Samples/C++/DirectShow/BaseClasses/Debug_Unicode/BuildLog.htm”
BaseClasses - 6 个错误,个警告
========== 全部重新生成: 0 已成功, 1 已失败, 0 已跳过==========
解决方案:我们在添加ddraw.h的文件时,将它的目录放到了 $(VCInstallDir)PlatformSDK/include 的前面,只要我们换一下就可以。将ddraw.h的目录放到 $(VCInstallDir)PlatformSDK/include 后面。 OK
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/li_007/archive/2007/06/29/1671563.aspx
看完了上面就可以解决问题了,不过还不知道是为什么会报错,下面说下原因,在资料上看了一下说是winnt.h有不同的版本,但是在DX的Include文件夹里翻了一下没有发现有winnt.h文件,所以这种说发似乎就不成立了,估计是其它的头文件被覆盖在了$(VCInstallDir)PlatformSDK/include造成的本该包含默认头文件被DX的头文件取代后引起的未定义问题。