删除#include会导致错误

时间:2013-07-13 10:01:33

标签: c++ linker include direct3d

我在名为D3DGraphics.h的头文件中有一个名为D3DGraphics的类。我已经包含了d3d9.h,我的图形文件绝对是文件。

但是,最近我找到了一个包含D3DGraphics.h的头文件,当时它没有使用它,所以我删除了

#include "D3DGraphics.h"

当我这样做时,D3DGraphics头文件/ cpp文件突然忘记了所有的DirectX定义,我收到了很多错误,如IDirect3D9和D3DCOLOR_XRGB未定义!?我用过

#pragma once

在我的所有头文件中,我很确定没有相互包含,所以我很难过。为什么删除文件的#include会导致该文件停止工作!?

提前致谢

2 个答案:

答案 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。)