У меня было сообщение, похожее на это недавно, из-за ошибки, которую я получал. Я смог это исправить, но с тех пор у меня возникли проблемы с работой, потому что заголовки продолжают блокировать использование других заголовков кода. Честно говоря, эти заголовки сбивают меня с толку, и если у кого-то есть какие-либо ресурсы для решения этих типов проблем, это будет полезно.
Что я хочу сделать, так это включить rModel.h в RenderEngine.h. каждый раз, когда я добавляю rModel.h в RenderEngine.h, rModel.h больше не может использовать RenderEngine.h. (rModel.h также имеет #include RenderEngine.h).
Таким образом, в двух словах, 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
RenderEngine.h
#pragma once
#include "stdafx.h"
#include "d3d10.h"
#include "d3dx10.h"
#include "dinput.h"
#include "rModel.h"
.......Code......