一.DirectShow的环境配置
使用VS2005,要使用DirectShow进行编程,需要对环境进行必要的配置。
第一步:对dssdk中的baseclass.sln进行编译,生成需要的debug和release文件(就是说首先需要在SDK中,让baseclass.sln独立的编译几次)。具体步骤如下:在VS中,安装DirectShow9c版本之后,直接打开%DXSDK%\Samples\C++\DirectShow\BaseClasses中的工程baseclasses.dsw文件,直接编译即可,编译Debug Release Debug_Unicode Release_Unicode四个版本(在VS的工具栏中有这四种)。DirectShow的BaseClass中已经带了VS2005的工程文件baseclasses.sln,在vs2005中打开此文件,提示你进行必要的工程转换,转换之后开始编译,编译过程一般会出现下面三个问题:
(1)C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winnt.h(222) : error C2146:
syntax error : missing ';' before identifier 'PVOID64'
(2)error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
(3)error C2065: 'Count' : undeclared identifier
第一类问题的解决: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;改成typedef void *PVOID;typedef void * POINTER_64;typedef void * PVOID64;
第二类问题的解决:错误发生在:operator=(LONG);函数定义中,这是因为在VC6中,如果没有显示的指定返回值类型,编译器将其视为默认整形;但是vs2005不支持默认整形,解决这个问题不能修改每个没有显示指示返回值类型的函数地方,可以用wd4430来解决;具体的在项目属性选项中的c++/Command Line中添加/wd4430即可。
第三个错误发生在for循环中,vc6中for循环中定义的变量相当于在for外面定义,可以在for之外地方使用;但是vs2005for循环中定义变量相当于域{}变量,只能在for循环中使用。要解决这个问题,可以通过修改vs2005的项目属性选项:”Project Option” --– “ C++ ” —-- “Language” --- “Force Comformance in For Loop Scrope” 设置为No即可。完成上面的设置,BaseClasses工程基本可以编译通过了。
二. 添加包含文件和库文件
在把dxsdk中提供的baseclass编译通过后,用四种方式编译,会分别生成四个lib,一般只用到了其中的Debug和Release文件,在tool|option|vc++ directories(工具/选项/项目和解决方案/VC++目录)包含的files中设置如下。这里需要加入得include files(显示以下内容的目录中选包含文件)有四种:
D:\SDK\DXSDK\Include
D:\SDK\DXSDK\Samples\C++\DirectShow\BaseClasses
D:\SDK\DXSDK\Samples\C++\DirectShow\Common
D:\SDK\DXSDK\Samples\C++\Common\Include
在后边的library files(库文件)中也需要增加三到四种的文件:
D:\SDK\DXSDK\Lib
D:\SDK\DXSDK\Samples\C++\DirectShow\BaseClasses\Debug
D:\SDK\DXSDK\Samples\C++\DirectShow\BaseClasses\Release
把以上设置好,基本就可以将DirectShow程序在vs2005环境中编译通过。
相关推荐
DirectShow在VS2005环境下的配置详细说明(附图).
本人也找了好多资料,但是这些资料写的不是很详细。本人根据教科书,总结了一个配置方法。保证一次配置成功!并提供技术支持。里面有本人的QQ。 确实是一份价钱,一份货。
VS2005下配置DirectShow,有插图,一步一步操作即可
VS2005下配置DirectShow,有插图,一步一步操作即可-VS2005 configure DirectShow
自己学习DirectShow的记录,参考网友写该文档,供初学者参考
关于VS开发环境与DirectShow版本问题,DirectShow已经从DirectX中分离出来。帮助你安装合理的版本
注意点(版本问题):在比较老的资料里可以知道:directshow是包含在directx SDK里面的。这里要强调一点,这是在DirectX 9.0b之前的情况,在9.0c以后,directshow和DirectX就彻底分家了,directshow被移到了windows ...
学习和使用DirectShow开发的朋友会发现,在SDK 9.0以后的版本,没有DirectShow的单独配置了,而网上的配置资料全都是以前的,所以学习和使用DirectShow的第一麻烦就出现了,有代码,有例子,却无法运行,本次提供的...
VS2005下DirectShow配置,一步一步操作即可,N多人用了,基本上都一次成功。
directshow在VS2008下的配置
在win7下于VS2010中配置directshow。
详细说明进行directshow开发如何在vs2008下进行配置
在vc6.0中配置directshow 并附上了Windows Server 2003 PSDK February 2003 Edition 下载地址
DirectShow开发环境的配置
自己写的MFC视频播放器,基于DirectShow技术,VS2013写的,需要配置DirectShow的环境才可运行,压缩包中有DirectShow的配置方法和配置文档,本播放器实现了播放,暂停,停止,帧播放,加速播放(最多20倍,可在源码...
DirectShow下载安装配置心得.DirectShow下载安装配置心得.DirectShow下载安装配置心得.DirectShow下载安装配置心得.
我也是directshow新手 刚开始的时候走了点弯路 directshow环境设置 有点麻烦 希望对大家有点帮助 如有不对 请大家指教
directshow在vs2010上的配置: 1、进入sdk安装目录下:C:\DXSDK\Samples\C++\DirectShow\BaseClasses, 找到工作区或解决方案文件,分别编译出4个版本,最常用的是debug版本和 release版本。编译过程中会出现各种...
本人于2011年1月13日终于在不断的尝试中总结出了在vs2008下配置directshow开发环境的流程 具体的操作流程说的很喜 初接触过vs2008的初学者可以看懂