VS2008下安装与配置DirectShow SDK 9.0 及 DirectShow AMCap改装的问题

时间:2023-02-18 10:06:18

一、安装DirectShow。

我装的是DirectShow SDK 9.0b。安装程序名为DXSDK_Jun10.exe。

下载地址:https://pan.baidu.com/s/1kURma3t

下载地址:https://pan.baidu.com/s/1slfmSMD

VS2008下安装与配置DirectShow SDK 9.0 及 DirectShow AMCap改装的问题

VS2008下安装与配置DirectShow SDK 9.0 及 DirectShow AMCap改装的问题

VS2008下安装与配置DirectShow SDK 9.0 及 DirectShow AMCap改装的问题

VS2008下安装与配置DirectShow SDK 9.0 及 DirectShow AMCap改装的问题

VS2008下安装与配置DirectShow SDK 9.0 及 DirectShow AMCap改装的问题

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

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

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

进入D:\ DXSDK\Samples\C++\DirectShow\BaseClasses文件夹下,双击baseclasses.sln。

VS2008下安装与配置DirectShow SDK 9.0 及 DirectShow AMCap改装的问题

VS2008下安装与配置DirectShow SDK 9.0 及 DirectShow AMCap改装的问题

按F7开始编译。

VS2008下安装与配置DirectShow SDK 9.0 及 DirectShow AMCap改装的问题

修改一些编译错误:

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

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

VS2008下安装与配置DirectShow SDK 9.0 及 DirectShow AMCap改装的问题

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

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

VS2008下安装与配置DirectShow SDK 9.0 及 DirectShow AMCap改装的问题

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

VS2008下安装与配置DirectShow SDK 9.0 及 DirectShow AMCap改装的问题

、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++) "。

VS2008下安装与配置DirectShow SDK 9.0 及 DirectShow AMCap改装的问题

、 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);)"。

VS2008下安装与配置DirectShow SDK 9.0 及 DirectShow AMCap改装的问题

个都勾起来。

VS2008下安装与配置DirectShow SDK 9.0 及 DirectShow AMCap改装的问题

单击"重新生成"。

VS2008下安装与配置DirectShow SDK 9.0 及 DirectShow AMCap改装的问题

这样strmbasd.lib就编译好了。

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

、头文件目录。

要添加的目录有:

D:\DXSDK\Include

D:\DXSDK\Samples\C++\DirectShow\BaseClasses

D:\DXSDK\Samples\C++\Common\Include。

VS2008下安装与配置DirectShow SDK 9.0 及 DirectShow AMCap改装的问题

、静态库目录。

要添加的目录有:

D:\DXSDK\Lib

D:\DXSDK\Samples\C++\DirectShow\BaseClasses\Debug

D:\DXSDK\Samples\C++\DirectShow\BaseClasses\Debug_Unicode

D:\DXSDK\Samples\C++\DirectShow\BaseClasses\Release

D:\DXSDK\Samples\C++\DirectShow\BaseClasses\Release_Unicode

VS2008下安装与配置DirectShow SDK 9.0 及 DirectShow AMCap改装的问题

DirectShow AMCap改装,无法解析的外部符号 "class CFactoryTemplate * g_Templates"

#ifdef FILTER_DLL

/* List of class IDs and creator functions for the class factory. This
   provides the link between the OLE entry point in the DLL and an object
   being created. The class factory will call the static CreateInstance
   function when it is asked to create a CLSID_SystemClock object */

CFactoryTemplate g_Templates[1] = {
    //{&CLSID_SystemClock, CSystemClock::CreateInstance}
{ L"SystemClock", &CLSID_SystemClock, CSystemClock::CreateInstance}
};

int g_cTemplates = sizeof(g_Templates) / sizeof(g_Templates[0]);
#endif

找到问题了,表面上看是STRMBASE.lib的问题,而STRMBASE.lib是编译自BaseClasses。上面的代码是关键,截取自BaseClasses项目的sysclock.cpp,FILTER_DLL没有预定义,所以出现问题,添加预定义就好了

VS2008下安装与配置DirectShow SDK 9.0 及 DirectShow AMCap改装的问题的更多相关文章

  1. Mac下安装及配置Appium环境

    candiceli   Mac下安装及配置Appium环境 我是小白,自己研究appium好几周了. 一开始按照同事这篇文章设置Mac下的环境,http://www.cnblogs.com/tangd ...

  2. Linux下安装和配置JDK与Tomcat(升级版)

    在这个版本 Linux下安装和配置JDK与Tomcat(入门版) 的基础上优化升级 1.下载相关软件 apache-tomcat-6.0.37.tar.gz jdk-6u25-linux-i586-r ...

  3. &lbrack;Linux&rsqb;Linux下安装和配置solr&sol;tomcat&sol;IK分词器 详细实例二&period;

    为了更好的排版, 所以将IK分词器的安装重启了一篇博文,  大家可以接上solr的安装一同查看.[Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一: http://ww ...

  4. MAC下安装与配置MySQL

    MAC下安装与配置MySQL   MAC下安装与配置MySQL 一 下载MySQL 访问MySQL的官网http://www.mysql.com/downloads/ 然后在页面中会看到“MySQL ...

  5. 64位Win7下安装与配置PHP环境【Apache&plus;PHP&plus;MySQL】

    [软件下载] 本安装实例所使用安装文件如图所示: 其中,64位版本的MySQL安装文件mysql-5.5.33-winx64.msi,可直接从官网下载,下载地址:http://dev.mysql.co ...

  6. 使用ProxychainsMac下安装及配置

    下面几种解决方式 一.先在VPS用composer把Laravel给拖回来,本地你就别想用Composer正常下载Laravel回来了 二.使用全局代理,暂时木有折腾过在终端下怎么折腾,GUI可以使用 ...

  7. windows下安装和配置mongoDB

    上次在mac下安装和配置了mongodb,这次在windows下也尝试安装和配置mongodb. 1.首先下载mongodb压缩包,下载后解压到D盘或E盘.如下: 2.配置环境变量:桌面—计算机右键— ...

  8. Mac下安装和配置mongoDB

    mac下的mongodb下载安装比较简单,主要有两种方式,一种是下载压缩包解压,另一种是通过npm或者homebrew命令安装,这里就不赘述了, 复杂的在于mongodb运行环境的配置(若未配置运行环 ...

  9. PHP学习之-Mongodb在Windows下安装及配置

    Mongodb在Windows下安装及配置 1.下载 下载地址:http://www.mongodb.org/ 建议下载zip版本. 2.安装 下载windows版本安装就和普通的软件一样,直接下一步 ...

随机推荐

  1. ExcelHelper

    NPOI下载:http://pan.baidu.com/s/1JNAGm 最新封装类: 2016-03-14 1.添加对OleConn的读 private static string connstri ...

  2. 从高版本JDK换成低版本JDK报错Unsupported major&period;minor version 52&period;0

    ava.lang.UnsupportedClassVersionError: PR/Sort : Unsupported major.minor version 52.0这个错误是由于高版本的java ...

  3. 观察者(observer)设计模式

    转载:http://www.tracefact.net/CSharp-Programming/Delegates-and-Events-in-CSharp.aspx 假设我们有个高档的热水器,我们给它 ...

  4. 【Android Developers Training】 76&period; 用Wi-Fi创建P2P连接

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  5. es6 let和const命令(1)

    基本用法 ES新增了let命令,用于声明变量.其用法类似于var,但是所声明的变量只在let命令所在的代码块中有效. for(let i = 0;i<5;i++) {} console.log( ...

  6. &lbrack;转载&rsqb;从100PV到1亿级PV网站架构演变

    原文地址:http://www.uml.org.cn/zjjs/201307172.asp 一个网站就像一个人,存在一个从小到大的过程.养一个网站和养一个人一样,不同时期需要不同的方法,不同的方法下有 ...

  7. topcoder srm 445 div1

    problem1 link 这个的结论是只需要考虑坐标是整数或者是整数.5,比如(2.5,3),(4,3.5),(1.5,4.5)这样的时候.这个详细证明起来应该挺麻烦的.这里有一些讨论. probl ...

  8. Sql Server 统计当天数据

    方法一. ),日期字段名,)),) 方法二. Access: * FROM 表名 WHERE DAY(日期字段名)=DAY(NOW()) 查询当天之前一天的数据

  9. JAVAEE——宜立方商城12:购物车实现、订单确认页面展示

    1. 学习计划 第十二天: 1.购物车实现 2.订单确认页面展示 2. 购物车的实现 2.1. 功能分析 1.购物车是一个独立的表现层工程. 2.添加购物车不要求登录.可以指定购买商品的数量. 3.展 ...

  10. Zookeeper(三)-- JAVA原生API

    一.前提 jar包:zookeeper-3.4.9.jar,slf4j-api-1.6.1.jar,slf4j-log4j12-1.6.1.jar,log4j-1.2.15.jar 二.Demo pa ...