我在名为D3DGraphics.h的头文件中有一个名为D3DGraphics的类。我已经包含了d3d9.h,我的图形文件绝对是文件。
但是,最近我找到了一个包含D3DGraphics.h的头文件,当时它没有使用它,所以我删除了
#include "D3DGraphics.h"
当我这样做时,D3DGraphics头文件/ cpp文件突然忘记了所有的DirectX定义,我收到了很多错误,如IDirect3D9和D3DCOLOR_XRGB未定义!?我用过
#pragma once
在我的所有头文件中,我很确定没有相互包含,所以我很难过。为什么删除文件的#include会导致该文件停止工作!?
提前致谢
答案 0 :(得分:0)
尝试使用标头保护而不是#pragma once
。
即
#ifndef D3DGRAPHICS_H
#define D3DGRAPHICS_H
class D3DGraphics...
#endif
答案 1 :(得分:0)
对于有这个问题的人:我是个白痴。我用过的程序中的某个地方
#include <d3d.h>
这导致directx版本定义为低于9,因此在我使用#include <d3d9.h>
时的图形标题中
它没有定义任何directx9类型(facepalm。)