在vs2005中配置directshow开发环境(转载)

QT+vs+directshow获取摄像头名称及其支持的分辨率 QT5.7.0 + visual studio 2013 + directshow9 获取摄像头名称及其支持的分辨率 立即下载
 
作者:liguisen

Blog:http://blog.youkuaiyun.com/liguisen

先介绍系统环境:
XP Professional sp2
visual studio 2005 version 8.0.50727.42
DirectX 9.0(9.0b) SDK Update - (Summer 2003)


首先,就是编译baseclasses,什么是baseclasses?打开你的dx的sdk安装目录,例如:
D:/DX90SDK/Samples/C++/DirectShow/
这里就有一个叫baseclasses的工程,为安全起见,请先备份此工程。

1,双击baseclasses.sln打开,提示我们需要转换工程,按提示转换就是了,编译
提示错误:
1>D:/Microsoft Visual Studio 8/VC/PlatformSDK/include/winnt.h(222) : error C2146: syntax error : missing ';' before identifier 'PVOID64'
1>D:/Microsoft Visual Studio 8/VC/PlatformSDK/include/winnt.h(222) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>D:/Microsoft Visual Studio 8/VC/PlatformSDK/include/winnt.h(5940) : error C2146: syntax error : missing ';' before identifier 'Buffer'
1>D:/Microsoft Visual Studio 8/VC/PlatformSDK/include/winnt.h(5940) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>D:/Microsoft Visual Studio 8/VC/PlatformSDK/include/winnt.h(5940) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>d:/DX90SDK/Samples/C++/DirectShow/BaseClasses/ctlutil.h(278) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

2,在Tools->Options->Projects and solutions->vc++ directories->show directories for里选择include files
然后增加
D:/DX90SDK/Include
D:/DX90SDK/Samples/C++/DirectShow/BaseClasses
D:/DX90SDK/Samples/C++/Common
可能会问题依旧,调整一下include files的顺序吧,把他们都放在最后,例如我的环境:
$(VCInstallDir)include
$(VCInstallDir)atlmfc/include
$(VCInstallDir)PlatformSDK/include
$(FrameworkSDKDir)include
D:/DX90SDK/Include
D:/DX90SDK/Samples/C++/DirectShow/BaseClasses
D:/DX90SDK/Samples/C++/Common
然后在project->BaseClasses properties->configuration->C/C++ -> General->Additional Include Directories里面的内容(.,../../../../include)删掉,重新编译,PVOID64的错误消失,原因如下:
POINTER_64 是一个宏,在64位编译下起作用,它包含在SDK目录下的BASETSD.H中(Microsoft Visual Studio 8/VC/PlatformSDK/Include/basetsd.h(23):#define POINTER_64 __ptr64),但DXSDK自己也带了一个basetsd.h,里面没有定义POINTER_64,从而导致出错,只需要改变include files的优先级即可。当然,也可以改写winnt.h中的代码,在下面这两行:typedef   void   *PVOID;  
typedef   void   *POINTER_64   PVOID64;
之前增加一行:
#define   POINTER_64   __ptr64

3,到目前为止,还剩下:
BaseClasses/ctlutil.h(278) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
这个错误,解决方法如下:
打开project->BaseClasses properties->configuration->C/C++ ->Command Line,增加/wd4430选项。
4,接着编译,提示error C2065: 'Count' : undeclared identifier等等错误,这个是微软的历史遗留问题了,C++标准语法的问题,因为在之前在for循环内定义的变量可以在for之外的地方使用,即在第一个for里for(int i,...),以后的for再使用i不必再声明,解决方法也很简单,打开project->BaseClasses properties->configuration->C/C++->Language->Force Comformance in For Loop Scrope设置为No即可。当然,也可以手动改代码,增加一个声明就是了。

经过上面几个步骤,应该是可以顺利编译了,对于其它版本的工程,照样设置就可以了,总共编译出下面4个文件备用:
BaseClasses/Debug/strmbasd.lib
BaseClasses/Debug_Unicode/strmbasd.lib
BaseClasses/Release/STRMBASE.lib
BaseClasses/Release_UnicodeSTRMBASE.lib
你或许需要在Tools->Options->Projects and solutions->vc++ directories->show directories for->library files里把它们加进去。
赶快编译DX90SDK/Samples/C++/DirectShow/Players/PlayDMO工程试试看吧。


以上资料整理自下面3个blog,一并列出:
DirectShow在VS2005中PVOID64问题和配置问题
http://www.cnblogs.com/RunOnTheWay/archive/2008/01/17/1043705.html
DirectShow 在VS2005中环境配置
http://blog.cnii.com.cn/?uid-75821-action-viewspace-itemid-24418
Some DirectShow Samples Break in Visual Studio 2005
http://blogs.msdn.com/mikewasson/archive/2005/05/23/some-directshow-samples-break-in-visual-studio-2005.aspx


文章来源:http://blog.sina.com.cn/s/blog_4cd3b57101008ygn.html
VS与directshow开发版本问题 关于VS开发环境与DirectShow版本问题,DirectShow已经从DirectX中分离出来。帮助你安装合理的版本 立即下载

相关推荐

基于DirectShow的视频、音频采集源代码AMCap

基于DirectShow的视频、音频采集源代码,用VC++6.0编译,需要安装Microsoft DirectX 9.0 SDK

vs2019 之 directshow

安装win10 的最新VS2019,功能还是挺强大的,直接连WDK一起安装,可以直接编译驱动程序,比起老版本的WDK更方便灵活应用广泛。说是自带DirectX 12,但是编译应用程序还是有一些头文件找不到。原来windows从direct7开始就不提供例子程序了, 所以目前大家用vs2017,vs2015, vs2019开发directshow的程序,都需要下载direct7的demo来开发,微软...

sanfenlu的专栏 2348

Directshow实现的虚拟摄像头(win10+vs2013,c++代码)

包括了这个人的directshow代码:http://download.youkuaiyun.com/detail/bifei1983/1024664, 以及directshow库文件代码等,配置文件都在里面,直接用即可。有问题请私信或邮件至huqiaoping23@qq.com.

Some DirectShow Samples Break in Visual Studio 2005

Some DirectShow Samples Break in Visual Studio 2005posted Monday, May 23, 2005 1:13 PM by MikeWasson Some of the DirectShow samples break if you install Visual Studio 2005 Beta 2. Most of th

900

vc下用directshow开发usb摄像头的例子

在vc环境下用directshow开发usb摄像头的例子,能正常显示usb摄像头图像。

基于directshow的摄像头预览

基于directshow的摄像头预览程序,该程序简单稳定,方便运行。

转:Directshow开发的一些例子

DirectShow Filter 开发典型例子分析 ——字幕叠加 (FilterTitleOverlay)1 本文分析一下《DirectShow开发指南》中的一个典型的Transform Filter的例子:字幕叠加(FilterTitleOverlay)。通过分析该例子,我们可以学习到DirectShow Transform Filter 开发的方式。 直接打开项目工程(我这里是V

xiaojun11的专栏 1118

【Audio】基于STM32 I2S移植WM8978 Audio Codec驱动

1. WM8978简介 WM8978是一款低功耗,高质量的立体声编解码器,专为便携式应用,如数码相机或数码摄像机等。 该芯片集成了立体声差分麦克风的前置放大器,并包括扬声器、耳机和差分或立体声线输出的驱动器。外部组件要求减少,因为不需要单独的麦克风或耳机放大器。 WM8978的功能框图如下所示: 2. WM8978硬件连接 使用STM32F429+WM8978硬件平台,通过I2S接口来读写音频数据,I2C接口发送写命令控制WM8978相关功能。 STM32F429与WM8978的引脚连接如下:

ZHONGCAI0901的博客 1万+

通过Visual Studio 2019搭建DirectX 12开发环境

要求:windows 10操作系统

游戏开发、游戏引擎开发、逆向破解爱好者 1万+

基于PCA的故障诊断方法(matlab)

1. PCA原理分析 PCA的原理主要是将原始数据进行降维。其具体工作原理参照:CodingLabs - PCA的数学原理 2. 数据预处理 训练数据集(只有正样本)为维数据,即有n个采样值,每个采样值有m个特征。 2.1 数据归一化 将数据X针对每个特征归一化为均值为0,均方根为1的数据。 其中: 3. PCA降维 3.1 首先求取协方差矩阵 协方差矩阵的公式为: 计算出来的协方差矩阵为特征m*m维矩阵。 3.2 求取特征值和特征向量 求取协方差矩阵R的特征值.

tangxianyu的博客 1万+

HUMAnN 3.0 (alpha)安装及使用

文章目录简介安装数据库下载运行参考 简介 安装 conda install humann humann_test (~1 minute) 数据库下载 humann_databases --download chocophlan full /path/to/databases --update-config yes humann_databases --download uniref uniref90_diamond /path/to/databases --update-config yes humann_

dys的博客 9505

DirectShow 在 VS2010 中开发环境的设置

心血来潮想玩玩DirectShow,在网上查了很多资料都是讲VC6的,所以照着资料慢慢配置。大致过程和VC6下的是一样的,但差别还是有的。 具体过程可以参照这篇文章: 在vs2005中配置directshow开发环境 由于现在directS...

chuifuhuo6864的博客 90

C# 进程间 双内存共享 高帧率图像传输

演示了两个进程之间通过 双内存共享 的方式, 来实时处理图像,并以高帧率(40~60FPS)传输的基本示例。 进程间内存共享的优点:高性能、低延迟、资源效率高、简单可靠。 适用场景:实时图像处理、大数据传输、多进程协作、实时监控系统,等等。

qianqiansd 1996

转帖:DirectShow 在VS2005中环境配置

转载请标明是引用于 http://blog.youkuaiyun.com/chenyujing1234   baseclasses参考代码(VS2005下编译通过):  http://www.rayfile.com/zh-cn/files/12ac1b0c-7335-11e1-94b4-0015c55db73d/   先介绍系统环境: XP Professional sp2 visual stu

chenyujing1234的专栏 1239

UE5入门第二周总结:基于蓝图的国际象棋的实现

在C++的学习中,这是一个入门级别的项目。我们的目标是灵活运用蓝图的特性和强大的可视化功能,做出这一入门级项目的同时,思考如何优化并改进算法,并尽可能的用面向对象的方法实现,用蓝图中的继承和多态简化编码过程。

YoungeYang的博客 1260

MAX30102传感器实战:从寄存器配置到Arduino心率血氧监测

本文详细介绍了MAX30102传感器在Arduino平台上的实战应用,从寄存器配置到心率血氧监测的全过程。通过清晰的代码示例和实用技巧,帮助开发者快速实现脉搏血氧仪功能,包括I2C通信、FIFO数据处理及算法实现,适用于健康监测和可穿戴设备开发。

weixin_29182481的博客 511

VS2005+Pocket PC 2003上DirectShow SDK开发环境配置

基于PC的DirectShow开发及其开发环境配置 二个Sample源代码(必须安装Platform Builder 5.0): D:/WINCE500/PUBLIC/DIRECTX/SDK/SAMPLES/DSHOW/PLAYERS/PLAYWND(一个简单的PLAYER样例程序)和D:/WINCE500/PUBLIC/DIRECTX/SDK/SAMPLES/WMP/CEPLAYER(完整的

dengchonglin的专栏 1355

Tessent实战:网表扫描链插入全流程解析

本文详细解析了使用Tessent工具为网表插入扫描链(Scan Chain)的全流程。从前期环境配置、网表检查,到扫描链数量、时钟域等核心配置,再到执行扫描单元替换与连接,最后进行结果验证与文件输出。文章提供了关键命令与实用技巧,帮助工程师高效完成DFT设计,确保芯片可测试性。

hhh00的博客 747

DIRECTSHOW在VS2005中PVOID64问题和配置问题

上次开发DirectShow还是2005年1月,整整两年,今天又重操旧业。 这次在VS2005上使用DirectShow,首次编译发现出现以下错误:error C2146: syntax error : missing ';' before identifier 'PVOID64' 看了很多关于这个问题的讨论,解答,无非就是改写winnt.h中的代码: ...

weixin_33811539的博客 147

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

在vs2005中配置directshow开发环境

// 所有原创文章转载请注明作者及链接// blackboycpp(AT)gmail.com// QQ群: 135202158  首先,就是编译baseclasses,什么是baseclasses?打开你的dx的sdk安装目录,例如:D:/DX90SDK/Samples/C++/DirectShow/这里就有一个叫baseclasses的工程,为安全起见,请先备份此工程。1,双

blackboy的技术博客 1310

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

DirectShow编译过程(转载+修改)

 需要安装的软件1, Visual Studio 2005 Pro + MSDN.iso 安装到 C:/DEV/VS20052, Platform SDK 可以从微软官方网站下载,我下载的是 Windows Server 2003 R2 Platform SDK ISO.img,   用虚拟光驱 daemon tools 安装到 C:/DEV/PSDK3, DirectX

CXH.ME 687
上一篇: 关于用visual stdio设计smartphone全屏应用程序
下一篇: 堆和栈的区别
JamesXing
博客等级 码龄20年 30粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值