代码改变世界

VC2005下编译DirectX9.0的SDK问题

2007-06-29 15:21  libiver  阅读(287)  评论(0编辑  收藏  举报

今天重装了OS,来整理一下VC2005下编译DirectX9.0SDK问题 

 

错误
------ 已启动全部重新生成: 项目: BaseClasses, 配置: Debug Unicode Win32 ------
正在删除项目“BaseClasses”(配置“Debug Unicode|Win32)的中间文件和输出文件
正在编译...
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
 
问题
c:/Program Files/DXSDK/Extras/DirectShow/Samples/C++/DirectShow/BaseClasses/ctlutil.h(278) : error C4430: 缺少类型说明符- 假定为int。注意: C++ 不支持默认int
 
COARefTime(LONG);
operator=(LONG);
 
解决方案:改为
 COARefTime(LONG);
int operator=(LONG);
 
 
在有一些错误自己都可以解决,像什么没定义等。