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>