d3d.h和d3d9.h混用的时候,一大堆错误,不管怎么调整包含顺序都不对,最后看到这个网址解决的http://www.programmer-club.com.tw/ShowSameTitleN/directx/4952.html
总的来说就是在包含d3d相关头文件之前先定义宏#define __D3DRM_H__ 例如下面是我的一个h文件
#pragma once
#define __D3DRM_H__
#include <comdef.h>
#include <commdlg.h>
#include <assert.h> // DirectX header files #include <d3d9.h>
#include <d3d.h>
#include <Streams.h>
#include <dshow.h>
#include <Qedit.h>
#include <atlstr.h>