谁有directx sdk9.0b SDK的下载网址啊,或者directShow sdk的下载地址,跪求!在网上找了很久都找不到

DirectX官方下载|DirectX 9.0b 下载_CND8软件下载
您的位置: >
微软终于正式发布了这款具有多项令人兴奋功能特征的DirectX 9.0!新的DirectX使你获得更好的图像显示质量,使多人游戏具可伸缩性,以及包括更棒的音频效果。它强化了针对DirectDraw和Direct3D的接口,简化了应用扩展,提升性能;改善了图形创作工具,更易于做出最佳的3-D角色和环境;点光源式光影和像素式光影使图象更逼真;强化了DirectSound和DirectMusic,简化了其应用扩展;DLS2音频合成功能提高了乐器音频的真实感; DirectInput的设备影射功能令对设备的支持更简单;DirectPlay使多人游戏的性能和可扩展性得到了提高; DirectPlay提供了IP声音通讯;DirectShow的应用编程接口提供了音频/视频的实时合成和即时编辑; DirectShow支持Windows媒体音频和视频(WMA和WMV)的读写; Microsoft TV技术可以支持数字电视节目。
相关查询: 相关软件
 34420KB  
 22.29 M  
 155951KB  
 7.38MB  
 7717KB  
 34246KB  
 295KB  
 11674KB  
 58KB  
 11862KB  
如果您在本站没有找到想要的结果,还可以通过以下搜索引擎进行全网搜索:
 搜索: /
 搜索: /
[150MB][372MB][1.16MB][258M][20.3MB][25.5 MB][311MB][783KB][19M][1.60MB][337KB][374.8M][1.19GB][45m][57.5MB]本文描述了DirectShow SDK ,Windows SDK,DirectX SDK ,VS200?之间的关系&&&&&&VS2002中包含有Windows SDK 2002版(支持Windows XP及其以前的Windows 并包含有DirctX 8.1 SDK(包括DirectShow SDK)),这之后DirectX9 SDK不被包含在Windows SDK中.&&&&&&&VS2003中包含有Windows SDK 2003版(支持Windows Server 2003及其以前的Windows)和DirectX 8.1 SDK(其中包括DirectShow8 SDK)&&&&&DirectX 9.0C SDK 的第一个版本是DirectX&SDK Summer 2004也是整合有DirectShow SDK 的最后一个版本,这之后面向DirectX 9.0C用C++开发应用程序没有发生太大变化,以后的版本主要是针对MDX做的改动,如果在VS2003下用C++开发DirectShow应用程序使用这个版本最合适.另外Windows XP SP2 中包含的DirectX 的版本就是9.0c ,这也是广泛使用的DirectX版本.Windows SDK 2004版,支持Windows XP SP2及其以前的Windows 但不包含DirectX SDK.&&&&之后 DirectShow& SDK 不被整合在DirectX SDK中而是以Extras 的形式发布.DirectShow SDK的最后一个版本是在2005.2版的DirectX&SDK Extras中,这之后DirectShow SDK被整合在Windows SDK中 Windows SDK 2005版(支持Windows Server 2003 SP1 及其之前的Windows)中包含有DirectShow SDK,Windows SDK 2006年3月版(支持Windows Server 2003 R2及其之前的Windows)也包含.&&& VS2005 中包含有Windows SDK 2005 版,但是没有DirectShow SDK,所以在VS2005中开发DirectShow 应用程序要手工安装DirectX&SDK Extras 2005,2 版,和2005年6月之后的DirectX SDK,因为DirectShow 会调用DirectDraw,DirectSound等,DirectX SDK 从2005.6开始支持VS2005,我使用的是2005.8版,在这之后的DirectX SDK中,主要多加入了MDX 2 beta 而这个MDX 2 beta在2006.10中取消了,而被一个叫做XNAGS的东西取代了.&&&&&&Windows SDK for Vista&&已经正式发布,DirectShow的示例被更新为VS2005版本,DirectShow&的换代产品是Media Foundation,它将取代DirectShow 就象当年DirectShow 取代 Video&for Windows 一样.晕了DirectX SDK下载页DirectX SDK Summer 2004&版 下载地址DirectX&SDK Extras2005,2 版 下载地址Windows&SDK 2006.3 版 for Windows&Server 2003&R2 下载地址 这个版本的好处是不含有.net SDK 一张CD-R可以刻下Windows SDK for Vista 下载地址包含有.net 3 SDK,没有完整的DirectX SDK
阅读(...) 评论()CVideoCom 基于Microsoft Visual C++ 6.0开发环境以及 DirectX SDK 9.0b 包, 了 xtX 182万源代码下载-
&文件名称: CVideoCom
& & & & &&]
&&所属分类:
&&开发工具: Visual C++
&&文件大小: 1541 KB
&&上传时间:
&&下载次数: 176
&&提 供 者:
&详细说明:基于Microsoft Visual C++ 6.0开发环境以及Microsoft DirectX SDK 9.0b开发包,开发了视频监控应用程序。-Based on Microsoft Visual C++ 6.0 development environment and the Microsoft DirectX SDK 9.0b development kit, developed a video surveillance applications.
文件列表(日期:~)(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&徐颖的毕业设计代码&&..................\CVideoCom&&..................\.........\CVideoCom.aps&&..................\.........\CVideoCom.clw&&..................\.........\&&..................\.........\CVideoCom.def&&..................\.........\CVideoCom.dsp&&..................\.........\CVideoCom.dsw&&..................\.........\&&..................\.........\&&..................\.........\CVideoCom.ncb&&..................\.........\CVideoCom.opt&&..................\.........\CVideoCom.plg&&..................\.........\&&..................\.........\CVideoCom.tlb&&..................\.........\CVideoComps.def&&..................\.........\CVideoComps.mk&&..................\.........\&&..................\.........\&&..................\.........\Debug&&..................\.........\&&..................\.........\ReleaseMinSize&&..................\.........\..............\CVideoCom.dll&&..................\.........\..............\CVideoCom.exp&&..................\.........\..............\CVideoCom.lib&&..................\.........\..............\CVideoCom.obj&&..................\.........\..............\CVideoCom.res&&..................\.........\..............\newcap.exe&&..................\.........\..............\regsvr32.trg&&..................\.........\..............\StdAfx.obj&&..................\.........\..............\vc60.idb&&..................\.........\..............\VideoCap.obj&&..................\.........\..............\VideoCapture.obj&&..................\.........\Resource.h&&..................\.........\StdAfx.cpp&&..................\.........\StdAfx.h&&..................\.........\videocap.bmp&&..................\.........\&&..................\.........\&&..................\.........\&&..................\.........\&&..................\.........\VideoCapture.htm&&..................\.........\&&..................\.........\VideoCaptureUI.htm&&..................\CVideoCom.dll&&..................\newcap&&..................\......\newcap.aps&&..................\......\newcap.clw&&..................\......\&&..................\......\newcap.dsp&&..................\......\newcap.dsw&&..................\......\&&..................\......\newcap.ncb&&..................\......\newcap.opt&&..................\......\newcap.plg&&..................\......\&&..................\......\&&..................\......\&&..................\......\ReadMe.txt&&..................\......\Release&&..................\......\res&&&&..................\......\...\newcap.rc2&&..................\......\Resource.h&&..................\......\StdAfx.cpp&&..................\......\StdAfx.h&&..................\......\&&..................\......\&&..................\newcap.exe&&..................\Page1.htm
&相关搜索:
&&&&&&&&&&
&输入关键字,在本站182万海量源码库中尽情搜索:
&[] - 如何实现看门狗的功能?此为apache开发的监视某进程是否存在的包,非常好用。
&[] - 此代码使用bmp图作为主要界面,主要实现以监控卡为硬件基础,实现摄像头监控。
&[] - 远程监控网络,实现对网络和网络系统的管理。请大家试用。如果有摄相头,可以实现视频监控。
&[] - 这个代码是个摄像机类,里面包括三维空间里摄像机位置的设置,摄像机范围的设置,摄像机的旋转等操作函数
&[] - vod核心代码,directshow写成的
&[] - 视频和音频的实时网络传输解决方案,使用directX技术。
&[] - 网络视频监控系统!程序运行在Windows 98/2000/XP/2003平台下,可在VC++ 6.0或.NET中调试。调试前请先安装Microsoft directX 9.0 SDK。因为本章的程序用到DirectShow的COM,需要在程序options→directories→include
&[] - MPEG4IP提供一个端对端的系统来实现音视频流的传输,支持包括MPEG4/H.261/MPEG2/H.263 MP3/AAC/AMR等不同编码格式。可以应用于linux,windows,Mac OS X平台下。
&[] - 上传源码文件为配合SeedVPM642板视频开发,从合众达公司购买的最新的源码库
除源码外,均配有使用说明,我已经搜索过,贵站应该没有相同的代码
在源码最后,上载了H.264标准白皮书
编译环境为CCS
1.边缘检测程序(new)
2.运动检测程序
3.PC_VPM64
&[] - 这是一个游戏程序源码
相关函数/类:
CWinApp TextOut GetDC CString MessageBox GetClientRect CDialog CDataExchange CWnd DestroyIcon LoadIcon GetSystemMenu CMenu LoadString AppendMenu GetDlgItem SetWindowLong IsIconic CPaintDC SendMessage GetSystemMetrics CRect DrawIcon EndDialog FindWindowEx CallWindowProc BeginPaint UpdateWindow SetBkMode SetTextColor CTime EndPaint GetWindowText SetWindowText CFileDialog缺少streams.h的解决方法和DirectShow开发环境的搭建(转)
以下文章转自:/tao_2/item/8eb0b2f0d00f0fcc531c2688
缺少streams.h的解决方法和DirectShow开发环境的搭建
须加LIB文件 strmiids.lib .
add: 不知道什么原因,原来好好的,中间又出现 error LNK2001: unresolved external
symbol _CLSID_FilterGraph...十几个LINK的错误,不管我重新怎么弄Lib
LINK设置都不行。--〉只留下个strmbasd.lib(或不留??), 然后手工加上 #pragma
comment(lib,"Strmiids.lib") , 编译, OK!而且uuid.lib winmm.lib已经自动加上
-〉删除上面手工加上的语句,在库连接加上Strmiids.lib, 再编译, OK! I don't know why!
一.DirectShow的环境配置:
本人使用的是VS2005,要使用DirectShow进行编程,需要对环境进行必要的配置。
第一步:对dssdk中的baseclass.sln进行编译,生成需要的debug和release文件,具体步骤如下:
在VS6中,安装DirectShow9c版本之后,直接打开BaseClass中的Vc6工程baseclasses.dsw文件,直接编译即可,编译Debug
Release Debug_Unicode&&
Release_Unicode四个版本,都需要进行额外的设置(头文件或者链接库目录设置)。
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即可。 不行改为 LOGN operator=(LONG);
第三个错误发生在for循环中,vc6中for循环中定义的变量相当于在for外面定义,可以在for之外地方使用;但是vs2005for循环中定义变量相当于域{}变量,只能在for循环中使用。要解决这个问题,可以通过修改vs2005的工程选项:”Project
Option” --& “ C++ ” —-- “Language” --- “Force Comformance in For
Loop Scrope” 设置为No即可。
完成上面的设置,BaseClass工程基本可以编译通过了。
第二步:需要设置相应的配置
在把dxsdk中提供的baseclass编译通过后,用四种方式编译,会分别生成四个lib,一般只用到了其中的Debug和Release文件,在tool|option|vc++
directories中包含的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环境中编译通过。
这个是正解,首先SDK要独立编译一次,然后添加路径
*****************************************************************************************************************************************
VS2005 directshow 编译开发环境的配置由于 directshow 被微软从 directx sdk 移动到了
platform SDK,因此 directshow 开发环境的配置方式也就与陆其明的书中不同了。
需要安装的软件
1, Visual Studio 2005 Pro + MSDN.iso 安装到 C:\DEV\VS2005
2, Platform SDK 可以从微软官方网站下载,我下载的是 Windows Server 2003 R2 Platform
SDK ISO.img,
用虚拟光驱 daemon tools 安装到 C:\DEV\platformSDK
3, DirectX SDK 也可以从微软官方网站下载,我下载的是 dxsdk_aug2007.exe,安装到
C:\DEV\dxsdk
修改 SetEnv.Cmd
用编辑器(比如记事本, ultraedit, 或者 Emacs)打开 C:\DEV\platformSDK\SetEnv.Cmd,
在第一行加上:
Set DXSDK_DIR=C:\DEV\DXSDK
注意,如果 directx sdk 的安装位置不同,要做相应的修改
编译 DirectShow 基类源代码,配置VS2005
1,开始菜单 Microsoft Visual Studio 2005/Visual Studio Tools/Visual
Studio 2005 Command Prompt
打开命令行窗口,也可以启动 cmd 窗口后自己运行vsvars32.bat
2,cd C:\DEV\platformSDK
SetEnv /XP32 /DEBUG
3,cd C:\DEV\PSDK\Samples\Multimedia\DirectShow
&& 然后去喝咖啡,如果编译顺利,我们就有了 debug 版的
strmbasd.lib
5,cd C:\DEV\platformSDK
SetEnv /XP32 /RETAIL
6,cd C:\DEV\PSDK\Samples\Multimedia\DirectShow
再去喝咖啡,如果编译顺利,我们就有了 release 版的 strmbase.lib
8,启动 vs2005, 菜单 Tools/Options/Projects and Solutions/VC++
Directories 中
include files 中加入
C:\DEV\platformSDK\Include
C:\DEV\dxsdk\Include
C:\DEV\PSDK\Samples\Multimedia\DirectShow\BaseClasses
Library Files 中加入
C:\DEV\platformSDK\lib
C:\DEV\dxsdk\lib
C:\DEV\PSDK\Samples\Multimedia\DirectShow\BaseClasses\XP32_RETAIL
C:\DEV\PSDK\Samples\Multimedia\DirectShow\BaseClasses\XP32_DEBUG
9, 新建工程以后,菜单 Project/Properties 在对话框中找到 Linker/Input
为Debug configuration 添加 strmbasd.lib, winmm.lib
为Release configuration 添加strmbase.lib, winmm.lib
10, 搞定,去卫生间把喝的一肚子咖啡尿出来。
//以下为搜索记录。
这几天在学DirectShow的开发,一个streams.h头文件折腾了一整天才搞定。简单总结一下出现缺少streams.h的解决方法和DirectShow开发环境的搭建。
开发包方面,我用的是VC2005+Windows Server 2003 SP1
SDK。微软真是神经,把DirectShow又从DirectX中拿出去了。这不是调戏咱们程序员么……
streams.h这个头文件现在在%Platform SDK
Root%\Samples\Multimedia\DirectShow\BaseClasses路径下,首先要把这个路径添加到VC的Include
Directories下面。
最令我ft的是DirectShow的library,真不知道M$的人是不是脑子坏掉了,库居然要自己编译。一开始我翻遍了硬盘也没找到strmbasd.lib,最后在BaseClasses目录下看到一个makefile,才知道是怎么回事。扯远了,打住。打开SDK的command
line debug build environment ,进入%Platform SDK
Root%\Samples\Multimedia\DirectShow\BaseClasses目录,二话不说nmake,生成一个XP32_DEBUG目录(我选的是Set
Windows XP 32-bit Build Environment
(Debug)),strmbasd.lib赫然在目,这就是debug版的库,retail版的如法炮制,生成的库在XP32_RETAIL目录下,名为strmbase.lib。
因为库有两个,分别对应Debug和Release,你可以把它拷到SDK的Lib目录下,然后在工程的Debug设置和Release设置里设好库的名字就可以了,当然也可以不拷,怎么用随便你。
文章出处:
error C2146: syntax error : missing
&;& before identifier
由 directdraw 的升级引起
在网上查了下资料,一般的解决方法是:
解决方法:在winnt.h中加上以下语句
#define POINTER_64 __ptr64
typedef void *PVOID;
typedef void * POINTER_64 PVOID64;
个人认为最好不去改winnt.h.
有时需要要调整include文件夹的顺序来解决问题,platform SDK中的winnt.h
DDK中的,vc6.0 自带的winnt.h有多个。 dxsdk 中的这些所用到的winnt.h版本不同。
通过调整IDE 工具-& 选项-&
项目vc++目录;包含文件include 的顺序来解决这类问题
使dxsdk需要的winnt.h所在文件夹在最上面。
调整后,问题解决!
本文来自CSDN博客,转载请标明出处:
VS 2005下DirectShow开发环境的配置
[1] 请确保您的机子上已经安装了VS 2005和DirectX 9.0b SDK。DX9.0
SDK的下载地址就不写了,自己在网上找吧!(我的DX9.0安装在D盘根目录下)
首先编译SamplesC++DirectShowBaseClasses目录下的baseclasses.sln以得到两个库文件(strbase.lib和strmbase.lib)。以下介绍的主要是如何修改编译中的错误,这也是众多文章中没有叙述的部分。自己写的,有些啰嗦,请原谅哦!
进入DirectShow的安装目录,找到SamplesC++DirectShowBaseClasses,双击baseclasses.sln打开该解决方案。首先看到的会是Visual
Studio的转换向导,不用管它,直接Next到Finish。
点击F5,调试运行,你会见到下面的错误(至少我编译的时候就是这样的结果):
1&------ Build started: Project: BaseClasses,
Configuration: Debug Unicode Win32 ------
1&Compiling...
1&dllentry.cpp
1&D:Program FilesMicrosoft Visual Studio
8VCPlatformSDKincludewinnt.h(222) : error C2146: syntax error :
missing ';' before identifier 'PVOID64'
1&D:Program FilesMicrosoft Visual Studio
8VCPlatformSDKincludewinnt.h(222) : error C4430: missing type
specifier - int assumed. Note: C++ does not support
default-int
1&D:Program FilesMicrosoft Visual Studio
8VCPlatformSDKincludewinnt.h(5940) : error C2146: syntax error :
missing ';' before identifier 'Buffer'
1&D:Program FilesMicrosoft Visual Studio
8VCPlatformSDKincludewinnt.h(5940) : error C4430: missing type
specifier - int assumed. Note: C++ does not support
default-int
1&D:Program FilesMicrosoft Visual Studio
8VCPlatformSDKincludewinnt.h(5940) : error C4430: missing type
specifier - int assumed. Note: C++ does not support
default-int
1&d:DXSDKSamplesC++DirectShowBaseClassesctlutil.h(278)
: error C4430: missing type specifier - int assumed. Note: C++ does
not support default-int
1&d:DXSDKincludeuuids.h : warning C4819: The file
contains a character that cannot be represented in the current code
page (936). Save the file in Unicode format to prevent data
1&Build log was saved at ""
1&BaseClasses - 6 error(s), 1 warning(s)
&&& ==========
Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped
==========
没办法,改错。(网上老外的文章中说过,不过也不明白什么意思!)
双击1&D:Program FilesMicrosoft Visual Studio
8VCPlatformSDKincludewinnt.h(222) : error C2146: syntax error :
missing ';' before identifier
'PVOID64'&& 跳转到出错的位置。
你会见到错误语句:typedef void * POINTER_64 PVOID64;
这样的定义,VS2005中是不支持的。将其修改为两条语句:
&&& #define
POINTER_64 __ptr64
&&& typedef void
&&& typedef void
*POINTER_64 PVOID64;
然后调试运行,会发现还有1条错误:
1&------ Build started: Project: BaseClasses,
Configuration: Debug Unicode Win32 ------
1&Compiling...
1&dllentry.cpp
1&d:DXSDKSamplesC++DirectShowBaseClassesctlutil.h(278)
: error C4430: missing type specifier - int assumed. Note: C++ does
not support default-int
1&d:DXSDKincludeuuids.h : warning C4819: The file
contains a character that cannot be represented in the current code
page (936). Save the file in Unicode format to prevent data
1&Build log was saved at ""
1&BaseClasses - 1 error(s), 1 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped
==========
只有继续改啦!双击1&d:DXSDKSamplesC++DirectShowBaseClassesctlutil.h(278)
: error C4430: missing type specifier - int assumed. Note: C++ does
not support default-int 跳转到出错的位置。
你会见到错误语句:operator=(LONG);
只是没有返回值嘛!给它加一个就行了,将其改为:LONG operator=(LONG);
再次调试运行,哇塞!更多错误:
1&------ Build started: Project: BaseClasses,
Configuration: Debug Unicode Win32 ------
1&Compiling...
1&wxdebug.cpp
1&.wxdebug.cpp(534) : warning C4996: '_vsnwprintf'
was declared deprecated
D:Program FilesMicrosoft Visual Studio 8VCincludestdio.h(450) : see
declaration of '_vsnwprintf'
Message: 'This function or variable may be unsafe. Consider using
_vsnwprintf_s instead. To disable deprecation, use
_CRT_SECURE_NO_DEPRECATE. See
_disibledevent="file:///d:DXSDKSamplesC++DirectShowBaseClassesDebug_UnicodeBuildLog.htm"&file://d:DXSDKSamplesC++DirectShowBaseClassesDebug_UnicodeBuildLog.htm"
1&BaseClasses - 10 error(s), 2 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped
==========
有错就改啦!双击1&.wxdebug.cpp(567) : error
C4430: missing type specifier - int assumed. Note: C++ does not
support default-int 跳到出错位置。
你会见到出错语句:static g_dwLastRefresh = 0;
静态类型变量有这么定义的吗?总得给个类型吧!将其改为:static DWORD g_dwLastRefresh =
0;为什么类型指定为DWORD?看程序中的语句就明白了——保证相同类型的变量进行运算。
再次调试运行:
1&------ Build started: Project: BaseClasses,
Configuration: Debug Unicode Win32 ------
1&Compiling...
1&winutil.cpp
1&.winutil.cpp(2104) : error C2065: 'Count' :
undeclared identifier
1&.winutil.cpp(2106) : error C2228: left of '.peRed'
must have class/struct/union
1&.winutil.cpp(2106) : error C2228: left of '.peRed'
must have class/struct/union
1&.winutil.cpp(2107) : error C2228: left of
'.peGreen' must have class/struct/union
1&.winutil.cpp(2107) : error C2228: left of
'.peGreen' must have class/struct/union
1&.winutil.cpp(2108) : error C2228: left of
'.peBlue' must have class/struct/union
1&.winutil.cpp(2108) : error C2228: left of
'.peBlue' must have class/struct/union
1&.winutil.cpp(2124) : error C2228: left of
'.peFlags' must have class/struct/union
1&outputq.cpp
1&.outputq.cpp(664) : error C2065: 'iDone' :
undeclared identifier
1&Generating Code...
1&Build log was saved at ""
1&BaseClasses - 9 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped
==========
错误少了一个哦!继续努力!双击1&.winutil.cpp(2104) : error C2065:
'Count' : undeclared identifier跳到出错位置。
你会见到出错语句:for (Count = 0;Count & RCount++)
Count没有定义?看该语句上面的语句:
for (UINT Count = 0;Count & RCount++) {
if (SystemEntries[Count].peRed != pEntry[Count].peRed ||
SystemEntries[Count].peGreen != pEntry[Count].peGreen ||
SystemEntries[Count].peBlue != pEntry[Count].peBlue) {
&&&&&&&&&&&&&&
bIdentityPalette = FALSE;
&&&&&&&&&&&
// And likewise compare against the last ten entries
GetSystemPaletteEntries(hdc,PalHiStart,PalLoCount,SystemEntries);
看到了吧!Count是在循环体内定义的变量,出了循环之后就“生命”over了。所以将它定义到外面去。将以上的语句改为:
UINT Count = 0;
for (Count = 0;Count & RCount++) {
&&&&&&&&&&&
if (SystemEntries[Count].peRed != pEntry[Count].peRed ||
&&&&&&&&&&&&&&&&&
SystemEntries[Count].peGreen != pEntry[Count].peGreen ||
&&&&&&&&&&&&&&&&&&&
SystemEntries[Count].peBlue != pEntry[Count].peBlue) {
&&&&&&&&&&&&&&&&&&&&&&&
bIdentityPalette = FALSE;
&&&&&&&&&&
// And likewise compare against the last ten entries
GetSystemPaletteEntries(hdc,PalHiStart,PalLoCount,SystemEntries);
再次调试运行:
1&------ Build started: Project: BaseClasses,
Configuration: Debug Unicode Win32 ------
1&Compiling...
1&winutil.cpp
1&outputq.cpp
1&.outputq.cpp(664) : error C2065: 'iDone' :
undeclared identifier
1&Generating Code...
1&Build log was saved at ""
1&BaseClasses - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped
==========
不错哦!错误剩下一个了!再改,双击1&.outputq.cpp(664)
: error C2065: 'iDone' : undeclared identifier
跳到出错位置。
你会见到出错语句:*nSamplesProcessed = iDone - iL
iDone没有定义?OK,继续看它上面的语句:
// Loop processing the samples in batches
LONG iLost = 0;
for (long iDone = 0;
&&&&&&&&&&&&
iDone & nSamples || (m_nBatched != 0
&& m_bSendAnyway);
&&&&&&&&&&&
同样的,将iDone的定义放到循环体的外面去,改为:
// Loop processing the samples in batches
LONG iLost = 0;
&&&&&&&long
iDone = 0;
for (iDone = 0;
&&&&&&&&&&&&
iDone & nSamples || (m_nBatched != 0
&& m_bSendAnyway);
&&&&&&&&&&&
&&&&&&&改完了以后,再次调试运行:
1&------ Build started: Project: BaseClasses,
Configuration: Debug Unicode Win32 ------
1&Compiling...
1&outputq.cpp
1&Creating library...
1&Build log was saved at ""
1&BaseClasses - 0 error(s), 0 warning(s)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped
==========
总算见到succeeded了,呵呵!你调出来了吗?
接着,生成所需要的那几个库文件,步骤如下:
单击VS2005菜单栏中的Build--&Batch
Build--&单击弹出的Batch Build对话框中的Select
All按钮--&单击Build按钮。生成我们编程所需要的那两个库文件:strbase.lib和strmbase.lib。
[3] 将DirectX
SDK的Include和Lib目录配置到VS2005的系统目录中去,并且放在标准的VS2005目录之前。步骤如下:
单击VS2005菜单栏上的Option(选项)--&单击弹出的Option对话框中Projects
and Solutions前的加号将其展开--&单击VC++
Directories--&
&&& (1) 在show
directories for下拉列表中选中Include files,然后添加下列路径:
&&&&&&&&&&&&&&
D:DXSDKInclude
&&&&&&&&&&&&&&&
D:DXSDKSAMPLESC++DIRECTSHOWBASECLASSES
&&&&&&&&&&&&&&&
D:DXSDKSAMPLESC++COMMONINCLUDE
(2) 在show directories for下拉列表中选中library
files,然后添加下列路径:&&&&&&&&&&
D:DXSDKLib
D:DXSDKSamplesC++DirectShowBaseClassesDebug
D:DXSDKSamplesC++DirectShowBaseClassesDebug_Unicode
D:DXSDKSamplesC++DirectShowBaseClassesRelease
D:DXSDKSamplesC++DirectShowBaseClassesRelease_Unicode
路径添加完成以后,别忘了点确定哦!
[4] 这一步只是简单的介绍一下编程时需要附加什么样的库文件及如何添加。
DirectShow应用程序应该至少连接库文件strmiids.lib和quartz.lib。前者定义了DirectShow标准的CLSID和IID,后者定义了导出函数AMGetErrorText(如果应用程序中没有使用到这个函数,也可以不连接这个库)。
如果程序里包含了头文件streams.h,则一般库文件还要连接strmbasd.lib、uuid.lib、winmm.lib。
如果你不知道怎样附加库文件的话,可以试下下述的步骤:
首先你得新建或打开一个解决方案。
单击VS2005菜单栏中的Project--&XXX
Properties--&弹出属性设置对话框,展开Configuration
Properties--&展开Linker--&单击Input--&在右边的Addtional
Dependencies中添加库。在每个库文件中以空格间隔。
&&&&&&&&&&&&
例如:strbase.lib strmiids.lib
[5] 全部搞定了之后,你就可以放心的写程序,调试程序了。加油哦!
本文引用地址:
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 directx 9.0b 的文章

 

随机推荐