如何找到dshow.h
我的程序找不到dshow.h文件 我下了DirectX SDK 但还是没有 是不是最新版本得DirectX SDK没有此文件
我还找到了一个dshow的源码,但是确保了其他的错误,不知道这个dshow文件是不是统一的,代码如下
///////////////////////////////////////////////////////////////////////////
// Copyright (C) 2000 Microsoft Corporation. All Right Reserved.
//
// File: dshow.h
// Content: DirectShow top-level include file
///////////////////////////////////////////////////////////////////////////
#ifndef __DSHOW_INCLUDED__
#define __DSHOW_INCLUDED__
///////////////////////////////////////////////////////////////////////////
// Set up constants & pragmas for the compiler
///////////////////////////////////////////////////////////////////////////
#ifdef _MSC_VER
// disable some level-4 warnings, use #pragma warning(enable:###) to re-enable
#pragma warning(disable:4100) // warning C4100: unreferenced formal parameter
#pragma warning(disable:4201) // warning C4201: nonstandard extension used : nameless struct/union
#pragma warning(disable:4511) // warning C4511: copy constructor could not be generated
#pragma warning(disable:4512) // warning C4512: assignment operator could not be generated
#pragma warning(disable:4514) // warning C4514: "unreferenced inline function has been removed"
#if _MSC_VER>=1100
#define AM_NOVTABLE __declspec(novtable)
#else
#define AM_NOVTABLE
#endif
#endif // MSC_VER
///////////////////////////////////////////////////////////////////////////
// Include standard Windows files
///////////////////////////////////////////////////////////////////////////
#include <windows.h>
#include <windowsx.h>
#include <olectl.h>
#include <ddraw.h>
#include <mmsystem.h>
#ifndef NUMELMS
#define NUMELMS(aa) (sizeof(aa)/sizeof((aa)[0]))
#endif
///////////////////////////////////////////////////////////////////////////
// Include DirectShow include files
///////////////////////////////////////////////////////////////////////////
#include <strmif.h> // Generated IDL header file for streams interfaces
#include <amvideo.h> // ActiveMovie video interfaces and definitions
#include <amaudio.h> // ActiveMovie audio interfaces and definitions
#include <control.h> // generated from control.odl
#include <evcode.h> // event code definitions
#include <uuids.h> // declaration of type GUIDs and well-known clsids
#include <errors.h> // HRESULT status and error definitions
#include <edevdefs.h> // External device control interface defines
#include <audevcod.h> // audio filter device error event codes
#include <dvdevcod.h> // DVD error event codes
///////////////////////////////////////////////////////////////////////////
// Define OLE Automation constants
///////////////////////////////////////////////////////////////////////////
#ifndef OATRUE
#define OATRUE (-1)
#endif // OATRUE
#ifndef OAFALSE
#define OAFALSE (0)
#endif // OAFALSE
///////////////////////////////////////////////////////////////////////////
// Define Win64 interfaces if not already defined
///////////////////////////////////////////////////////////////////////////
// InterlockedExchangePointer
#ifndef InterlockedExchangePointer
#define InterlockedExchangePointer(Target, Value) \
(PVOID)InterlockedExchange((PLONG)(Target), (LONG)(Value))
#endif
#endif // __DSHOW_INCLUDED__
问题点数:40、回复次数:7Top
1 楼aspvbjava(注定走入地狱)回复于 2005-04-23 10:52:05 得分 10
你没有设置directX的路径吧?
tools->options->directorys把路径加入Top
2 楼xift_2008(☆冲浪者☆)回复于 2005-04-23 11:05:21 得分 0
同意楼上!Top
3 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-04-23 12:43:40 得分 0
嗯,在setting中把h和cpp路径设置进去Top
4 楼gag()回复于 2005-04-23 16:07:57 得分 0
我已经设置了路径,如下:
include file:
C:\Program Files\Microsoft DirectX 9.0 SDK (April 2005)\Include
E:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
E:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
E:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
library file:
C:\Program Files\Microsoft DirectX 9.0 SDK (April 2005)\Lib\x86
E:\Program Files\Microsoft Visual Studio\VC98\LIB
E:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB
然后还在project settings里面的link选项里的的对象\库模块中设置如下:
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
但是没有用。
Top
5 楼gag()回复于 2005-04-23 16:11:59 得分 0
最奇怪的是,我装了DirectX SDK以后,在机子里还是再不到dshow.h这个文件,不知道这样是否正常。是不是应该在DirectX SDK文件夹里应该会有dshow.h这个头文件。我下的是什么Update的SDK,不知道这样在安装过程中会不会是完整的安装。Top
6 楼DentistryDoctor(Data Recovery -- http://www.powerdatarecovery.com)回复于 2005-04-23 16:12:25 得分 30
最好是下载9.0bSDK,这个版本是全的,其后的版本都是所谓的UpdateSDK,,都不带DirectShow的东东(需要自己另外下载一个DirectShowExtra,解压后拷贝到DXSDK的目录下)Top
7 楼qrlvls( 空 气 )回复于 2005-04-23 16:13:42 得分 0
你需要安装 DirectX 9.0 SDK for VCTop




