登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> 程序员学前班[不再更新,只读] >> 主题: STRMBASE_unicode.lib     [回主站]     [分站链接]
标题
STRMBASE_unicode.lib
clq
浏览(0) + 2010-03-24 20:37:09 发表 编辑

关键字:

http://hi.baidu.com/dexinmeng/blog/item/eef4193da9bc26e73d6d9720.html
clq
2010-3-24 20:37:59 发表 编辑

directshow的配置与实例(具体详细)(一)
2009-07-28 13:25

前言:

由于 directshow的版本多,而Windows下用众多的开发工具:Visual C++、Visual Studio 2003/2005/2008。不同的directshow版本与开发工具组合起来就更混乱了,编译directshow应用程序时经常发生各种各样的错 误。而网上众说纷纭,往往都是片面之词,并不可信。


我则采众家之长,经过亲自实践,总结出一些文档出来:从directshow的版本说起,到 directshow在VC++6.0中头文件与库文件的配置,最后给出一个简单的播放器源码实例来验证所述配置是否正确。

全文内容 全面、具体、详细,是不可多得的一份参考文档!

一、版本选择

OS版本:Windows XP

DirectX SDKDirectX9.0b SDK

DirectX9.0 SDK开发包版本较多,DirectX9.0b版本之前SDK包基本是完整的,DirectX9.0c 版本的SDK 包大多是升级包,里面并未附带DirectShow 部分,故不能单独使用。

开发平台VC++ 6.0

DirectX9.0B+VC6.0是个很很好的选择

二、编译基类BaseClasses源代码

有些程序需要引用BaseClasses相关内容,比如streams.hstrmbasd.libstrmbase.libBaseClassesDX目 录下的\Samples\C++\DirectShow\BaseClasses

假设DX目录在C:\DXSDK下,打开baseclasses.dsw,点击运行(Ctrl+F5),通过Buid -> Set Active Configuration可在工程目录下分别生成四个库文件:

Debug版本: Debug\strmbasd.lib

Release版本:Release\STRMBASE.lib

Debug_Unicode版 本: Debug_Unicode\strmbasd.lib

Release_Unicode版本:Release_Unicode\STRMBASE.lib

Debug_Unicode版本重命名为strmbasd_unicode.lib,将Release_Unicode版本重命名为STRMBASE_unicode.lib,然后这四个文件拷贝到DX的库目录下:C:\DXSDK\Lib

三、添加DirectShow的头文件与库文件

DirectX SDKIncludeLib目 录配置到VC的系统目录中 去,并且放在标准的VC目录 之前,以保证编译器能够拿到最新版本的源文件。选择 Tools|Options|Directories,在弹出的对话框中的Show directories for中选择Include files,配置如下(DX安装在C:\DXSDK):

C:\DXSDK\Include

C:\DXSDK\SAMPLES\C++\DIRECTSHOW\BASECLASSES

C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE

C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE

C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE

再在Show directories for中选择Library files,配置如下:

C:\DXSDK\Lib

C:\Program Files\Microsoft Visual Studio\VC98\LIB

C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB

这里需要注意,我们将DX SDK的库路径设置到VC后,并不代表我们已设置好了DX SDK,在我们的DX工程中,我们还需要进行相应的设置操作,把我们所需要的库文件(DirectX SDK Library)加入到我们的工程中。要设置这个库文件有两个方 法,一个是在你工程的编译选项中进行添加,另外一种可以通过代码的方法来添加(推荐)。

DirectShow应用程序都应该包含Dshow.h文件至少连 接库文件Strmiids.libQuartz.lib但常常用Streams.h文件来代替Dshow.h如果包含了Streams.h,则一般库文件另外还要连接uuid.libwinmm.lib

在程序中使用命令:

#include <dshow.h> //所有DirectShow应用程序必备

#pragma comment(lib,"strmiids.lib")

#pragma comment(lib,"quartz.lib")

#include <streams.h> //使用DirectShow基类

#pragma comment(lib,"uuid.lib")

#pragma comment(lib,"winmm.lib")

#ifdef _DEBUG

#ifdef UNICODE

#pragma comment(lib,"strmbasd_unicode.lib")

#else

#pragma comment(lib,"strmbasd.lib")

#endif // !UNICODE

#else /* release */

#ifdef UNICODE

#pragma comment(lib,"strmbase_unicode.lib")

#else

#pragma comment(lib,"strmbase.lib")

#endif // !UNICODE

#endif //release



总数:1 页次:1/1 首页 尾页  
总数:1 页次:1/1 首页 尾页  


所在合集/目录



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1