今天重装了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);
在有一些错误自己都可以解决,像什么没定义等。
<script src="http://s.vdoing.com/u/107/54977.js" type="text/javascript"></script>