您的位置:首页 > 其它

(自己学习,高手勿进 一)编译DirectShow Filters

2011-04-11 20:09 225 查看
微软推荐使用DirectShow基础类库来开发DirectShow Filter。可以安装下面步骤编译基础类库。

1、编译基础类库(SDK安装目录下的子文件夹Samples\Multimedia\DirectShow\BaseClasses),可编译成两种版本(分发版本:Strmbase.lib 和调试版本:Strmbasd.lib——事实上在我的windows 7上还有另外两种版本:多字节分发版本和多字节调试版本)

2、包含头文件Streams.h

3、使用__stdcall 约定

4、酌情使用多线程C运行库)

5、包含一个定义文件(.def)用来导出Dll函数。例如 输入文件名为 MYFILTER.DLL

LIBRARY MYFILTER.DLL

EXPORTS

DllMain PRIVATE

DllGetClassObject PRIVATE

DllCanUnloadNow PRIVATE

DllRegisterServer PRIVATE

DllUnRegisterServer PRIVATE

6、链接下面的库

Debug版本:Strmbasd.lib Msvcrtd.lib Winmm.lib

Release版本:Strmbase.lib Msvcrtd.lib Winmm.lib

7、在链接选项中 选取 “ignore default libraries”

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);

}

注意:DirectShow 9.0以前的版本,如果是Debug版本,必须声明DEBUG预处理命令
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐