WIN7安装DirectSDK
来源:互联网 发布:iptv管理系统php 编辑:程序博客网 时间:2024/06/02 01:59
1 平台介绍
win 7。
我不知道以下做法是不是vs2010与directshow操作正确的唯一途径,但是我经过以下安装和配置之后就可以写DirectShow程序和开发filter(继承父filter)了。
2 软件安装
2.1 安装顺序
按照下面的顺序安装软件:
(1)visual studio 2010
(2)Windows sdk 7.1
(3)Visual studio 2010 sp1
(4)VC-Compiler-KB2519277.exe
各软件的下载网址我就不粘贴了,可以用google搜索的。
2.2 注意
(1)在安装Windows SDK之前,一定要先卸载比Microsoft Visual C++ 2010 x86(x64) Redistributable - 10.0.30319更高的版本(不包括Microsoft Visual C++ 2010 x86(x64) Redistributable - 10.0.30319),如果你是首次安装vs,这个问题就不存在。
(2)在安装windows sdk的时候不要安装VC编译器,在安装完vs 2010 sp1后再安装VC-Compiler-KB2519277.exe补上。
至于每一个软件的安装过程就不贴图了,图比较多。如果不清楚的话可以到谷歌里搜一下作为参考的。具体看开发需要。
3. DirectShow程序开发配置
只是开发direcshow程序时,如只进行视频预览而不继承父filter时的配置如下:
打开VS2010的Property Manager 即属性管理器,右键当前项目-->properties(属性)-->VC++ Directories
在Include Directories中添加Directshow以下目录:
C:\Program Files\Microsoft SDKs\Windows\v7.1\Include
在Library Directories中添加DirectShow的库目录:
C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib
好了,可以开发DirectShow程序了。
4. filter程序开发配置
4.1编译BaseClasses
一般来说开发filter的程序需要用到filter基类,directshow的基类在(SDK samples root)\DirectShow\BaseClasses下。所以首先需要用vs2010来build BaseClasses项目,使之生成相应的库文件。在开始中以管理员的身份打开vs2010,然后打开BaseClasses项目,分别以Debug(生成strbasd.lib库文件,供debug项目所调用)和Release(生成strbase.lib库文件,供release项目所调用)方式Build(F7)baseclasses项目(不要用Debug,用了Debug之后可能会出现找不到BaseClasses.lib的错误提示)。
4.2 配置vs2010
4.2.1 包含目录
依然打开vs2010 属性管理器,然后经相同的步骤到VC++目录下:
在Include Directories中包含direcshow目录如下:
C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses
C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\common
C:\Program Files\Microsoft SDKs\Windows\v7.1\Include
在 Libray Directories中包含以下目录:
C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib
C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Debug
C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\Release
4.2.2 注意
注意以上头文件的包含顺序!!
4.2.3 如果目录包含顺序不对
如果包含目录顺序不对则会出现以下错误:
1>e:\microsoft sdks\windows\v6.0\samples\multimedia\directshow\baseclasses\refclock.h(80) : error C2061: syntax error : identifier ''CAMSchedule''
1>e:\microsoft sdks\windows\v6.0\samples\multimedia\directshow\baseclasses\refclock.h(139) : error C2143: syntax error : missing '';'' before ''*''
1>e:\microsoft sdks\windows\v6.0\samples\multimedia\directshow\baseclasses\refclock.h(139) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>e:\microsoft sdks\windows\v6.0\samples\multimedia\directshow\baseclasses\refclock.h(139) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>e:\microsoft sdks\windows\v6.0\samples\multimedia\directshow\baseclasses\refclock.h(139) : warning C4183: ''GetSchedule'': missing return type; assumed to be a member function returning ''int''
1>e:\microsoft sdks\windows\v6.0\samples\multimedia\directshow\baseclasses\refclock.h(178) : error C2143: syntax error : missing '';'' before ''*''
1>e:\microsoft sdks\windows\v6.0\samples\multimedia\directshow\baseclasses\refclock.h(178) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>e:\microsoft sdks\windows\v6.0\samples\multimedia\directshow\baseclasses\refclock.h(178) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>e:\microsoft sdks\windows\v6.0\samples\multimedia\directshow\baseclasses\refclock.h(139) : error C2065: ''m_pSchedule'' : undeclared identifier
1>e:\microsoft sdks\windows\v6.0\samples\multimedia\directshow\baseclasses\refclock.h(166) : error C2227: left of ''->GetEvent'' must point to class/struct/union/generic type
第一次出现这个错误后就去将vs2010的环境配置目录修改为以上顺序吧。好像只要编译通过了,包含目录的顺序就无所谓了。
- WIN7安装DirectSDK
- 微软DirectSDK文档(DirectSound)
- Win7硬盘安装Win7
- win7安装
- Win7 安装
- win7安装
- win7安装
- win7安装
- WIN7中全新安装WIN7
- Win7安装与使用
- 咱也追把风,win7 安装
- win7 安装 oracle 客户端
- Win7操作系统安装
- win7下安装netmeeting
- Win7安装记
- win7安装AHCI驱动
- win7安装IIS
- 硬盘安装win7
- oracle初级教程(链接)
- 软件许可证的设计思路
- 【Gradle】Library库工程的release及debug
- SPOJ 422 Transposing is Even More Fun(Polya计数)
- 4925: 城市规划
- WIN7安装DirectSDK
- com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 2 字节的 UTF-8 序列的字节 2 无效。
- POJ1233 Prim Kruskal
- 高性能服务器架构小结
- CodeForces Round#433
- 一道面试题
- [JZOJ5363]生命之树
- inline函数必须定义在头文件吗
- Codeblocks environment error编译器找不到问题解决方法