(自己学习,高手勿进 一)编译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预处理命令
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预处理命令
相关文章推荐
- 【学习笔记】编译原理-有限自己主动机
- 自己在linux上编译、链接、动态库和静态库的学习笔记
- 由成幻OnlineJudge学习如何做自己的Acm-Icpc在线评判系统-5.在线编译与测试系统代码粗解
- 来csdn安个家,向高手学习,一步步迈向自己的目标!
- 记录自己学习C++的点滴,(高手请指点) 偶能承受打击
- 从零开始,学习windows编程(8)--自己动手,编译CRT
- 打造自己的Android源码学习环境之五:编译Android源代码
- 转载:Ant学习笔记——自己构建Ant编译环境
- 从零开始,学习windows编程(8)--自己动手,编译CRT
- 【转】Ant学习笔记——自己构建Ant编译环境
- 【Cg语言学习】开始Cg之旅,编译自己的第一个Cg程序
- Android学习第四篇;如何将自己的应用编译到源码当中
- 自己在linux上编译、链接、动态库和静态库的学习笔记
- 为什么你有10年经验,但成不了专家?(重复性刻意训练+反馈修正,练习的精髓是要持续地做自己做不好的,太精彩了)真正的高手都有很强的自学能力,老师和教练的最重要作用是提供即时的反馈(莫非我从小到大学习不好的原因在这里?没有单独刻意训练?) good
- Ant学习笔记——自己构建Ant编译环境
- 基于Volley学习使用AndroidSudio的三种添加依赖的方式和自己编译生成jar包
- qt4.3.2编译vs2005下编译过程(自己学习下)
- 自己在linux上编译、链接、动态库和静态库的学习笔记
- 从零开始,学习windows编程(8)--自己动手,编译CRT
- mjpg-streamer学习笔记10-----自己写客服端_编译调试