Directshow的开发环境配置

本文详细介绍DirectShow开发环境的搭建步骤,包括预编译基类源代码、配置头文件及创建.def文件等内容,帮助初学者快速入门。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

各位仁兄:

序言

(这是我的师兄写给我的关于如何设置DirectShow开发环境,现在把它资源共享,我也很希望早日写出自己的正确理解,对于DirectShow开发指南一书,本人刚刚开始,还学习请大家多多指教。)

如下:

首先,原书中第一个配制说:“确认已经编译过基类源代码生成一个…… ”我想这里你可能不知道该怎么做,具体的预编译操作过程详细如下:

打开文件夹:(注意:此时,我默认为你的SDK开发包是默认安装的再C盘下的)

C:/DXSDK/Samples/C++/DirectShow/BaseClasses中找到BaseClasses.dsw文件,然后启用VC6.0打开这个文件。

单击Bulid|Batch build菜单项,在弹出的窗口中选中DebugRelease复选框,然后单击Rebuilt all按钮,VC6.0将生成debugrelease版本的库文件。打开文件夹C:/DXSDK/Samples/C++/DirectShow/BaseClasses,你会看到此文件夹中多出了两个文件夹:DebugRelease,里面分别有文件strmbasd.libstrmbase.lib。将这两个文件复制到C:/DXSDK/Lib文件夹中。

这样,原书中的第一步叫你预编译生成一个库文件(不管你的编译环境是Debug还是Release都有了相应的库文件)

 

二,书中第三个配置说:“实现Filter的源文件中一般要包含……”:

此处不需要你做任何修改,知识提醒你在filter的项目中药包含一个这样的头文件,如果你编译出错提醒你差这个头文件那么到时候你再在文件的开头写:#includes <Streams.h>

 

三,书中第七个配置说:“定义一个.def文件用于导出DLLDynamic Link Library的缩写,即:动态链接库)函数……

此处你需要注意如下:

1,如果你是单纯的安装配置DirectShow编译环境则不需要你做这个配置。因为这个配置实际上它是一个文件,是包含在VC项目下的一个文件。

2,这个文件不是所有的DirectShow项目都要包括的,比如,如果你的filter是嵌入在应用程序里面的filter则不用你写这个文件。

3,如果你的工作是开发一个filter,则在你的VC项目中就要写这样一个.def文件用来导出相关的动态链接库。

可能说得你有些糊涂,我给你举一个列子。你打开如下:

C:/DXSDK/Samples/C++/DirectShow/Filters/Ball  这里是开发包自带的一个filter项目,项目名称叫“Ball”,这里由于它是一个单独的Filter,所开发的就是一个filter所以你在里面能够看到有这样一个文件ball.def它就是我们刚刚所说的那个文件,完成的功能在于导出DLL。因此,今后如果你要开发编写写一个单独的filter那么你就要写一个.def文件。

     写这个def文件的方法很简单,在你的项目下新建一个文本文档,按照书中的方式写上代码,再将后缀名改为”.def”即可。

 

四,原书中说到:“定义DLL的入口函数……

其实在你写的时候已经有了DLL,自动生成的。当时我也是问的一个朋友,叫我不必太管这个。我查看了相关的人家的配置也都没有说这一步,你可以不管它。具体的我也不完全明白。牵涉到内部的东西。

 

五,原书最后的配置Library的时候有个配置:如下:

   D:/PROGRAM FILES/MICROSOFT SDK/LIB

没有这个东西,可能是版本的问题,你跳过它。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值