【发布时间】:2010-05-25 12:19:25
【问题描述】:
根据我遇到的一个错误,我不久前有一篇与此类似的帖子。我能够修复它,但从那以后我在做事时遇到了麻烦,因为标头一直阻止其他标头使用代码。老实说,这些标题让我感到困惑,如果有人有任何资源可以解决这些类型的问题,那将会很有帮助。
我真正想做的是能够将 rModel.h 包含在 RenderEngine.h 中。每次我将 rModel.h 添加到 RenderEngine.h 时,rModel.h 不再能够使用 RenderEngine.h。 (rModel.h 也有一个 RenderEngine.h 的#include)。
简而言之,RenderEngine 和 rModel 需要使用彼此的功能。除了所有这些混乱之外,Main.cpp 还需要使用 RenderEngine。
stdafx.h
#include "targetver.h"
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
// Windows Header Files:
#include <windows.h>
// C RunTime Header Files
#include <stdlib.h>
#include <malloc.h>
#include <memory.h>
#include <tchar.h>
#include "resource.h"
main.cpp
#include "stdafx.h"
#include "RenderEngine.h"
#include "rModel.h"
// Global Variables:
RenderEngine go;
rModel *g_pModel;
...code...........
rModel.h
#ifndef _MODEL_H
#define _MODEL_H
#include "stdafx.h"
#include <vector>
#include <string>
#include "rTri.h"
#include "RenderEngine.h"
........Code
渲染引擎.h
#pragma once
#include "stdafx.h"
#include "d3d10.h"
#include "d3dx10.h"
#include "dinput.h"
#include "rModel.h"
.......Code......
【问题讨论】:
-
rModel.h 是否缺少最终的#endif?
-
我认为这不是这里的主要问题)
标签: c++ c visual-studio visual-studio-2008 visual-c++