如果你的sdk安装有不同版本,譬如 Microsoft DrectX SDK(August 2007) 以及 Microsoft SDKS
那么在你的VC directories中会出现两个或两个以上的 include directory
如果 你需要编译的是最新的 Microsoft SDKS中的samples中的Filter
1, 你需要在 VC directories中的inlude中将 Microsoft SDKS中的include directory放在其他SDK路径的前面,否则会出现:
error C2504: 'IReferenceClockTimerControl' : base class undefined
2,你需要在 VC directories中的excutable files中将 Microsoft SDKS中的bin directory放在其他SDK路径的前面,否则使用VC2005,会出现:
Include/unknwn.idl(108) : error MIDL2025 : syntax error : expecting ] or , near "annotation"
Include/unknwn.idl(108) : error MIDL2026 : cannot recover from earlier syntax errors;
aborting compilation
这是由于使用了新版本的VISTA SDK头文件,而使用旧版本的MIDL工具来编译所导致。