原文转自 http://blog.csdn.net/joeblackzqq/article/details/10944005

DirectX 9.0 SDK 开发包以及扩展包下载(February 2005) http://dev.csdn.net/article/62/62941.shtm。直接到微软官网下的话,需要validation确认。

http://download.microsoft.com/download/7/b/9/7b92308a-ec8d-4016-8d45-2f91dd130bf2/dxsdk_feb2005.exe

http://download.microsoft.com/download/d/9/1/d91c44b9-fbac-4e8e-bee1-4a75777923ec/dxsdk_feb2005_extras.exe

dshow.h找不到,下个dxsdk extras就可以了。

qedit.h里面dxtrans.h missing的问题很诡异,March2008的版本依然存在这个问题,看看这篇文章http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2617687&SiteID=1

①Remove anything to do with "dxtrans.h" and "IDXEffect" .

Say, for file "qedit.h"

//#include "dxtrans.h" -- Line 498

// IDxtCompositor //: public IDXEffect -- Line 837
// IDxtAlphaSetter //: public IDXEffect -- Line 1151
// IDxtJpeg //: public IDXEffect -- Line 1345
// IDxtKey //: public IDXEffect -- Line 1735

Now, everything compiles and works fine.

这篇介绍direcX的配置: http://hi.baidu.com/rain_yx/blog/item/f98d9112695a8fcac2fd782c.html

You can get by with less edits of qedit.h (commenting out the missing interfaces can be error prone).

Comment out the include of dxtrans.h.

Before you include qedit.h, add the following #defines:

#define

__IDxtCompositor_INTERFACE_DEFINED__

#define

__IDxtAlphaSetter_INTERFACE_DEFINED__

#define

__IDxtJpeg_INTERFACE_DEFINED__

#define

__IDxtKey_INTERFACE_DEFINED__

#include

<qedit.h>

=====================================================================

以下为个人整理:

最初提示缺少Qedit.h, 这个需要安装DirectX SDK Extra, 下载后解压到一个临时目录,里面的主要内容是一个文件夹:Extras。我将它与我的DirectX SDK中的Extras对比了下,发现就是多了一个目录:DirectShow,将里面的DirectShow复制到DirectX SDK安装目录下的Extras下,里面就有qedit.h文件。将“D:\opensource\DirectXSDK\Extras\DirectShow\Include”加入到工程的include目录中,提示变为:无法找到dxtrans.h文件,经网上搜索,找到答案:
在#include <Qedit.h>前加上以下内容:

#pragma include_alias("dxtrans.h", "qedit.h")
#define __IDxtCompositor_INTERFACE_DEFINED__
#define __IDxtAlphaSetter_INTERFACE_DEFINED__
#define __IDxtJpeg_INTERFACE_DEFINED__
#define __IDxtKey_INTERFACE_DEFINED__

再编译,提示:

>CaptureVideo.obj : error LNK2001: 无法解析的外部符号 _IID_ISampleGrabberCB  
>CaptureVideo.obj : error LNK2001: 无法解析的外部符号 _IID_ICreateDevEnum  
>CaptureVideo.obj : error LNK2001: 无法解析的外部符号 _CLSID_SystemDeviceEnum  
>CaptureVideo.obj : error LNK2001: 无法解析的外部符号 _CLSID_VideoInputDeviceCategory  
>CaptureVideo.obj : error LNK2001: 无法解析的外部符号 _CLSID_SampleGrabber  
>CaptureVideo.obj : error LNK2001: 无法解析的外部符号 _MEDIATYPE_Video  
>CaptureVideo.obj : error LNK2001: 无法解析的外部符号 _MEDIASUBTYPE_RGB24  
>CaptureVideo.obj : error LNK2001: 无法解析的外部符号 _PIN_CATEGORY_PREVIEW  
>CaptureVideo.obj : error LNK2001: 无法解析的外部符号 _PIN_CATEGORY_CAPTURE  
>CaptureVideo.obj : error LNK2001: 无法解析的外部符号 _IID_IBaseFilter  
>CaptureVideo.obj : error LNK2001: 无法解析的外部符号 _IID_IGraphBuilder  
>CaptureVideo.obj : error LNK2001: 无法解析的外部符号 _CLSID_FilterGraph  
>CaptureVideo.obj : error LNK2001: 无法解析的外部符号 _IID_ICaptureGraphBuilder2  
>CaptureVideo.obj : error LNK2001: 无法解析的外部符号 _CLSID_CaptureGraphBuilder2  
>CaptureVideo.obj : error LNK2001: 无法解析的外部符号 _IID_IMediaControl  
>CaptureVideo.obj : error LNK2001: 无法解析的外部符号 _IID_IVideoWindow  
>D:\program\vc2010\testa\testa.exe : fatal error LNK1120:  个无法解析的外部命令

很明显,是缺少相应的lib库文件,随便找一个如“_IID_ISampleGrabberCB” 进行百度搜索,即可发现需要加上“strmiids.lib”。不过,添加这个lib文件前,需要将其库目录(D:\opensource\DirectXSDK\Extras\DirectShow\Lib\x86)添加到项目属性中。

【DirectX SDK Extra】提示缺少Qedit.h问题 (转)的更多相关文章

  1. opencv vs2013提示缺少Qedit.h问题

    #pragma include_alias( "dxtrans.h", "qedit.h" ) #define __IDxtCompositor_INTERFA ...

  2. 提示缺少python.h解决办法

    在安装uwsgi时,提示缺少python.h In file included :: plugins/python/uwsgi_python.h::: fatal error: Python.h: N ...

  3. 安装psutil时提示缺少python.h头文件(作记录)

    通过pip或者源码安装psutil,都会提示缺少python.h头文件,错误提示如下: ... psutil/_psutil_common.c:9:20: fatal error: Python.h: ...

  4. 解决 OpenCV with CUDA 编译提示缺少 nvcuvid.h 的问题

    系统环境: 操作系统:Ubuntu 18.04.01 显卡型号:GeForce GTX 1060 6G CMake 版本:3.10.2 GCC 版本:7.4.0 GNU Make 版本:4.1 CUD ...

  5. 如何安装psutil以及提示缺少python.h头文件

    下载psutil 下载地址https://pypi.python.org/packages/57/93/47a2e3befaf194ccc3d05ffbcba2cdcdd22a231100ef7e4c ...

  6. python安装thrift-sasl提示缺少sasl.h文件

    这其实是在pip安装Cyrus-SASL bindings for Python时报的错误. 由于没有whl文件,都是源码要经过编译之后才能安装. 所以,报这个错误,一般都是缺少安装软件造成的. 不管 ...

  7. ReactNative运行提示缺少文件xxxRootView.h解决方法

    我们经常在github获取源码后运行会出现缺少 "RCTRootView.h" notfound" 文件的错误,对于这种错误我们怎么解决了. 1.cd到项目根目录 删除项 ...

  8. DirectX SDK版本与Visual Studio版本

    对于刚刚接触 DirectShow 的人来说,安装配置是一个令人头疼的问题,经常出现的情况是最基本的 baseclass 就无法编译.一开始我也为此费了很大的功夫,比如说修改代码.修改编译选项使其编译 ...

  9. c++连接mysql并提示“无法解析的外部符号 _mysql_server_init@12”解决方法&提示缺少“libmysql.dll”

    课程作业要用c++连接mysql server,但是出现些小问题,经查阅资料已经解决,做一下笔记. 环境:vs2017, mysql版本是8.0.16-winx64. 设置项目属性   项目 -  C ...

随机推荐

  1. 入门学习Linux常用必会命令实例详解

    Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令.要想真正理解Linux系统, ...

  2. UNIX网络通信

    一.网络协议 国际标准化组织(ISO)定义了网络协议的基本框架,被称为OSI模型.OSI模型包括应用层.表示层.会话层.传输层.网络层.数据链路层及物理层.而OSI模型过于复杂至今没有得到实际的应用. ...

  3. centos7上mysql8.0rpm方式安装

    首先是下载图解 1.首先卸载centos7中自带的mariadb rpm -qa|grep mariadb //查询出来已安装的mariadb rpm -e --nodeps 文件名 //卸载mari ...

  4. JS大小转化B KB MB GB的转化方法

    function conver(limit){ var size = ""; ){ //如果小于0.1KB转化成B size = limit.toFixed() + "B ...

  5. PHP面向对象编程(1)基础

    一.面向对象OOP(Oriented Object Programming) 面向过程的编程 将要实现的功能描述为一个从一开始到结束的连续的“步骤(过程)”. 一次逐步完成这些步骤.如果步骤比较大,又 ...

  6. 极路由安装SS,SSR,搬运,侵权删除

    打开路由器的开发者模式 使用SSH,登录到路由器后台 复制以下代码,粘贴即可 cd /tmp $ echo "127.0.0.1 hiwifiss.ml" > /etc/ho ...

  7. JZOJ 5793. 【NOIP2008模拟】小S练跑步

    5793. [NOIP2008模拟]小S练跑步 (File IO): input:run.in output:run.out Time Limits: 2000 ms  Memory Limits:  ...

  8. 洛谷P4231 三步必杀

    题目描述: $N$ 个柱子排成一排,一开始每个柱子损伤度为0. 接下来勇仪会进行$M$ 次攻击,每次攻击可以用4个参数$l$ ,$r$ ,$s$ ,$e$ 来描述: 表示这次攻击作用范围为第$l$ 个 ...

  9. Python中函数参数类型和参数绑定

    参数类型 Python函数的参数类型一共有五种,分别是: POSITIONAL_OR_KEYWORD(位置参数或关键字参数) VAR_POSITIONAL(可变参数) KEYWORD_ONLY(关键字 ...

  10. 设计模式之第4章-装饰模式(Java实现)

    设计模式之第4章-装饰模式(Java实现) “怎么了,鱼哥?” “唉,别提了,网购了一件衣服,结果发现和商家描述的差太多了,有色差就算了,质量还不好,质量不好就算了,竟然大小也不行,说好的3个X,邮的 ...