【DirectX SDK Extra】提示缺少Qedit.h问题 (转)
原文转自 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
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问题 (转)的更多相关文章
- opencv vs2013提示缺少Qedit.h问题
#pragma include_alias( "dxtrans.h", "qedit.h" ) #define __IDxtCompositor_INTERFA ...
- 提示缺少python.h解决办法
在安装uwsgi时,提示缺少python.h In file included :: plugins/python/uwsgi_python.h::: fatal error: Python.h: N ...
- 安装psutil时提示缺少python.h头文件(作记录)
通过pip或者源码安装psutil,都会提示缺少python.h头文件,错误提示如下: ... psutil/_psutil_common.c:9:20: fatal error: Python.h: ...
- 解决 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 ...
- 如何安装psutil以及提示缺少python.h头文件
下载psutil 下载地址https://pypi.python.org/packages/57/93/47a2e3befaf194ccc3d05ffbcba2cdcdd22a231100ef7e4c ...
- python安装thrift-sasl提示缺少sasl.h文件
这其实是在pip安装Cyrus-SASL bindings for Python时报的错误. 由于没有whl文件,都是源码要经过编译之后才能安装. 所以,报这个错误,一般都是缺少安装软件造成的. 不管 ...
- ReactNative运行提示缺少文件xxxRootView.h解决方法
我们经常在github获取源码后运行会出现缺少 "RCTRootView.h" notfound" 文件的错误,对于这种错误我们怎么解决了. 1.cd到项目根目录 删除项 ...
- DirectX SDK版本与Visual Studio版本
对于刚刚接触 DirectShow 的人来说,安装配置是一个令人头疼的问题,经常出现的情况是最基本的 baseclass 就无法编译.一开始我也为此费了很大的功夫,比如说修改代码.修改编译选项使其编译 ...
- c++连接mysql并提示“无法解析的外部符号 _mysql_server_init@12”解决方法&提示缺少“libmysql.dll”
课程作业要用c++连接mysql server,但是出现些小问题,经查阅资料已经解决,做一下笔记. 环境:vs2017, mysql版本是8.0.16-winx64. 设置项目属性 项目 - C ...
随机推荐
- goaccess 安装
今天尝试搭建goaccess,用于分析access.log文件,但安装并不顺利,小记一下自己遇到的问题及解决方法 系统环境:CentOS release 6.9 一.参照官网教程进行搭建 $ wget ...
- Linux ps与top命令
Linux ps与top命令 这两个命令都是查看系统进程信息的命令,但是用处有点儿不同 1.ps命令--提供系统过去信息的一次性快照 也就是说ps命令能够查看刚刚系统的进程信息 命令:ps aux或 ...
- JZOJ 5835 Prime
Description
- Ecshop之ajax修改表里的状态(函数化处理)
目录 功能: 效果: 思路: 页面里 控制器里 功能: `点击图片,修改表里的状态值` 效果: 思路: 页面里在img里点绑定onclick件事,调用js函数listTable.toggle oncl ...
- Federated引擎
Federated就像他的名字所说“联盟”,其作用就是把两个不同区域的数据库联系起来,以至可以访问在远程数据库的表中的数据,而不是本地的表. 1.进入mysql命令行,查看是否已安装Federated ...
- 洛谷 P1736 创意吃鱼法(多维DP)
题目描述 回到家中的猫猫把三桶鱼全部转移到了她那长方形大池子中,然后开始思考:到底要以何种方法吃鱼呢(猫猫就是这么可爱,吃鱼也要想好吃法 ^_*).她发现,把大池子视为01矩阵(0表示对应位置无鱼,1 ...
- Linux下Oracle JDK替换Open JDK
Oracle的产品需要Oracle JDK,但是Linux发行版附带的都是开源的Open JDK,这里给出的方法是在不删除原有Open JDK的情况下,安装Oracle JDK 环境 系统:CentO ...
- 11、JQuery知识点总结
1.JQuery简介 JQuery 是一套跨浏览器的JavaScript库,简化HTML与JavaScript之间的操作 jQuery有下列特色: 跨浏览器的DOM元素选择 DOM巡访与更改:支持CS ...
- Effictive C++ 学习记录
这是前段时间看的书,整理到这里吧,以后查看也方便. 这些条款需要反复查看. 条款01:视C++为一个语言联邦 条款02:尽量用const.enum.inline替换#define 条款03:尽可能的使 ...
- 使用 Spirit 类在 XNA 中创建游戏中的基本单位精灵(十三)
平方已经开发了一些 Windows Phone 上的一些游戏,算不上什么技术大牛.在这里分享一下经验,仅为了和各位朋友交流经验.平方会逐步将自己编写的类上传到托管项目中,没有什么好名字,就叫 WPXN ...