VS2008下安装与配置DirectShow SDK 9.0

摘要:
其中strmids.lib和石英。lib的格式为D:(identifier;operator=(LONG):LONGoperator=(LON):staticDWORDg_dwLastRefresh=0;UINTCount=0:对于(Count=0;Result;对于(longiDone=0;&=0&=0&

一、 安装DirectShow。

我装的是DirectShow SDK 9.0b。安装程序名为dx90bsdk.exe。下载地址:ftp://ftp.qut.edu.au/pub/microsoft/directx/directx9b/dx90bsdk.exe。

clip_image002

clip_image004

clip_image006

clip_image008

clip_image010

二、 准备需要的静态链接库。

需要的静态链接库有strmiids.lib、strmbasd.lib、strmbase.lib、quartz.lib、winmm.lib。

其中strmiids.lib、quartz.lib在D: DXSDKLib文件夹下就有。strmbasd.lib要自己编译。

进入D: DXSDKSamplesC++DirectShowBaseClasses文件夹下,双击baseclasses.sln。

clip_image012

clip_image014

按F7开始编译。

clip_image016

修改一些编译错误:

1、 error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)。

修改:在“typedef void * POINTER_64 PVOID64;”前面加上“#define POINTER_64 __ptr64”。

clip_image018

2、 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int。

修改:把“operator=(LONG);”改成“LONG operator=(LONG);”。

clip_image020

修改:把“static g_dwLastRefresh = 0;”改成“static DWORD g_dwLastRefresh = 0;”。

clip_image022

3、error C2065: “Count”: 未声明的标识符。

修改:在“for (UINT Count = 0;Count < Result;Count++) ”语句前面加上“UINT Count = 0”,再把“for (UINT Count = 0;Count < Result;Count++) ”改为“for (Count = 0;Count < Result;Count++) ”。

clip_image024

4、 error C2065: “iDone”: 未声明的标识符。

修改:在“for (long iDone = 0;iDone < nSamples || (m_nBatched != 0 && m_bSendAnyway);)”语句前面加上“long iDone = 0;”,再把“for (long iDone = 0;iDone < nSamples || (m_nBatched != 0 && m_bSendAnyway);)”改为“for (iDone = 0;iDone < nSamples || (m_nBatched != 0 && m_bSendAnyway);)”。

clip_image026

修改完错误再设置“生成”—>“批处理”。把Debug、Debug Unicode、Release、Relese Unicode这4个都勾起来。

clip_image028

单击“重新生成”。

clip_image030

这样strmbasd.lib就编译好了。

三、 添加VS2008的头文件目录和静态库目录。

1、 头文件目录。

要添加的目录有:

D:DXSDKInclude

D:DXSDKSamplesC++DirectShowBaseClasses

D:DXSDKSamplesC++CommonInclude。

clip_image032

2、 静态库目录。

要添加的目录有:

D:DXSDKLib

D:DXSDKSamplesC++DirectShowBaseClassesDebug

D:DXSDKSamplesC++DirectShowBaseClassesDebug_Unicode

D:DXSDKSamplesC++DirectShowBaseClassesRelease

D:DXSDKSamplesC++DirectShowBaseClassesRelease_Unicode

clip_image034

免责声明:文章转载自《VS2008下安装与配置DirectShow SDK 9.0》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇kvm虚拟机管理(2)数据图表插件echarts(二)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

tf.GradientTape() 使用

import tensorflow as tfw = tf.constant(1.)x = tf.constant(2.)y = x*wwith tf.GradientTape() as tape: tape.watch([w]) y2 = x*wgrad1 = tape.gradient(y,[w])print(grad1)结果为[None...

pandas的DataFrame与python的dict字典之间的相互转换

一、dict生成DataFrame  1、如果只有一个dict,即一行dataframe数据 # 注:dict的形式必须是如下2种,不然会报错 # 1、dict外面加一层list【】 dict_a = [{'a': 0, 'b': 1, 'c': 2}] # 2、dict内部的数据至少有1个或多个是list形式 # 注:此时dict外面如果加上li...

【BZOJ4444】[Scoi2015]国旗计划 双指针+倍增

【BZOJ4444】[Scoi2015]国旗计划 Description A国正在开展一项伟大的计划——国旗计划。这项计划的内容是边防战士手举国旗环绕边境线奔袭一圈。这项计划需要多名边防战士以接力的形式共同完成,为此,国土安全局已经挑选了N名优秀的边防战上作为这项计划的候选人。 A国幅员辽阔,边境线上设有M个边防站,顺时针编号1至M。每名边防战士常驻两个...

npm查看本地包版本号和远程包的版本号

npm 查看远程包 第一种方法: npm info <packageName> 第二种方法: npm view <packageName> versions --json npm查看本地安装的包版本号 npm ls <packageName> // 本地包 npm ls <packageName&...

第五届蓝桥杯 c/c++ B组6

题目描述: 上小学的时候,小明经常自己发明新算法。一次,老师出的题目是:1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1.png)老师刚想批评他,转念一想,这个答案凑巧也对啊,真是见鬼!对于分子、分母都是 1~9 中的一位数的情况,还有哪些算式可以这样计算呢?请写出所有不同算式的个数(包括题中举例的)。显然,交...

eslint在webstorm中有错误警告

1. 报错Missing space before function parentheses的问题   解决:在代码目录中,打开.eslint文件,并在rules中添加如下一行代码即可:      "space-before-function-paren": 0 2. 报错eslint: missing semicolon   解决:在rules中添加  ...