VC2005下编译DirectX9.0的SDK问题
2007-06-29 15:21 libiver 阅读(287) 评论(0) 编辑 收藏 举报今天重装了OS,来整理一下VC2005下编译DirectX9.0的SDK问题
错误①:
------ 已启动全部重新生成: 项目: 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);
在有一些错误自己都可以解决,像什么没定义等。
作者:点滴点点滴滴
本文版权归作者所有,欢迎转载,但未经作者同意时必须保留此段声明,且须在文章页面显著位置给出原文连接,否则作者保留追究法律责任的权利。