如何配置DirectShow Filter组件开发环境

1、编译基类源代码,生成静态库,如果使用UNICODE编码开发,分布使用Debug_Unicode和Release_Unicode生成strmbasd.lib和STRMBASE.lib。
2、在Studio中配置头文件和LIB库路径:
头文件路径:
xxx/Microsoft DirectX 9.0 SDK (October 2004)/Include
xxx//Microsoft Platform SDK/Samples/Multimedia/DirectShow/BaseClasses
xxx/Microsoft Platform SDK/Samples/Multimedia/DirectShow/Common
xxx/Microsoft Platform SDK/Include
$(VCInstallDir)include
$(VCInstallDir)atlmfc/include
$(VCInstallDir)PlatformSDK/include
$(FrameworkSDKDir)include
…………
LIB路径:
xxx/Microsoft Platform SDK/Samples/Multimedia/DirectShow/BaseClasses/Debug_Unicode
xxx/Microsoft Platform SDK/Samples/Multimedia/DirectShow/BaseClasses/Release_Unicode
xxx/Microsoft DirectX 9.0 SDK (October 2004)/Lib
xxx/Microsoft Platform SDK/Lib
$(VCInstallDir)lib
$(VCInstallDir)atlmfc/lib/i386
$(VCInstallDir)PlatformSDK/lib
$(VCInstallDir)atlmfc/lib
$(FrameworkSDKDir)lib
…………

3、用VC向导生成WIN32动态链接库作为工程。
4、在Filter头文件中包含头文件streams.h和initguid.h。
5、一般使用__stdcall函数调用协议,选择工程属性|C/C++|Advanced,将Calling Convention改为__stdcall(/Gz)。
6、配置Lib,选择工程属性|Linker|Input,在Additional Dependencies中添加msvcrtd.lib quartz.lib winmm.lib,DEBUG版本添加strmbasd.lib,RELEASE版本添加strmbase.lib。
7、定义一个.def文件用于导出DLL函数,例如Filter.def,内容:
LIBRARY        "Filter.ax"

EXPORTS
            DllMain                         PRIVATE
            DllGetClassObject       PRIVATE
            DllCanUnloadNow        PRIVATE
            DllRegisterServer        PRIVATE
            DllUnregisterServer     PRIVATE
8、定义DLL入口函数:
extern "C" BOOL WINAPI DllEntryPoint(HINSTANCE, ULONG, LPVOID);

BOOL APIENTRY DllMain(HANDLE hModule,
                    DWORD dwReason,
                    LPVOID lpReserved)
{
    return DllEntryPoint((HINSTANCE)(hModule), dwReason, lpReserved);
}
9、配置调试环境,选择工程属性|Debugging,在command中输入:
xxx/Microsoft Platform SDK/Bin/graphedt.exe
这样配置后,注册Filter.ax,然后就可以下断点调试了。 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值