refclock.h 头文件问题

来源:互联网 发布:伴奏软件哪个好 编辑:程序博客网 时间:2024/05/22 14:03
我已经安装了VS2005,VS2005 SP1,VS2005 SP1 for Vista
然后安装了dxsdk_noverber2007,Vista SDK

然后把Vista SDK中的directshow编译成strmbasd.lib,放在Vista SDK的Lib中


E:/DirectXSDK/Include
E:/Microsoft SDKs/Windows/v6.0/Include
E:/Microsoft SDKs/Windows/v6.0/Samples/Multimedia/DirectShow/BaseClasses
加入到include中


E:/Microsoft SDKs/Windows/v6.0/Lib
加入lib中

但是编译程序还是出错,主要提示如下:
1>e:/microsoft sdks/windows/v6.0/samples/multimedia/directshow/baseclasses/refclock.h(80) : error C2061: syntax error : identifier 'CAMSchedule'
1>e:/microsoft sdks/windows/v6.0/samples/multimedia/directshow/baseclasses/refclock.h(139) : error C2143: syntax error : missing ';' before '*'
1>e:/microsoft sdks/windows/v6.0/samples/multimedia/directshow/baseclasses/refclock.h(139) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>e:/microsoft sdks/windows/v6.0/samples/multimedia/directshow/baseclasses/refclock.h(139) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>e:/microsoft sdks/windows/v6.0/samples/multimedia/directshow/baseclasses/refclock.h(139) : warning C4183: 'GetSchedule': missing return type; assumed to be a member function returning 'int'
1>e:/microsoft sdks/windows/v6.0/samples/multimedia/directshow/baseclasses/refclock.h(178) : error C2143: syntax error : missing ';' before '*'
1>e:/microsoft sdks/windows/v6.0/samples/multimedia/directshow/baseclasses/refclock.h(178) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>e:/microsoft sdks/windows/v6.0/samples/multimedia/directshow/baseclasses/refclock.h(178) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>e:/microsoft sdks/windows/v6.0/samples/multimedia/directshow/baseclasses/refclock.h(139) : error C2065: 'm_pSchedule' : undeclared identifier
1>e:/microsoft sdks/windows/v6.0/samples/multimedia/directshow/baseclasses/refclock.h(166) : error C2227: left of '->GetEvent' must point to class/struct/union/generic type
1>        type is ''unknown-type''
还有很多,请问,应该如何在Vista+VS2005环境下,配置DirectX


找到一个国外论坛的回复:  I ran into this too. I found that you need to have the baseclasses directory (samples/multimedia/directshow) *before* the sdk include directory, since they both have a schedule.h file and refclock.h uses  <> not " for the include. I was slightly surprised to see that no-one else had mentioned this.

大意是把E:/Microsoft   SDKs/Windows/v6.0/Samples/Multimedia/DirectShow/BaseClasses路径提前