【发布时间】:2011-08-25 14:33:03
【问题描述】:
这是从网站粘贴的,该网站可能正在运行。我做了一些谷歌搜索,发现我现在遇到的问题是我今天下载的 Visual C++ 2010 SP1 的结果,现在给我这个错误:
PCH Warning: header stop cannot be in a macro or #if block.
希望有人能帮我解决这个问题!
#ifndef APP_STATE_H
#define APP_STATE_H
#include "Framework.h"
class AppState; //this line is giving me the error
//define two classes
#endif
框架.h:
#ifndef OGRE_FRAMEWORK_H
#define OGRE_FRAMEWORK_H
#include <OgreCamera.h>
#include <OgreEntity.h>
#include <OgreLogManager.h>
#include <OgreOverlay.h>
#include <OgreOverlayElement.h>
#include <OgreOverlayManager.h>
#include <OgreRoot.h>
#include <OgreViewport.h>
#include <OgreSceneManager.h>
#include <OgreRenderWindow.h>
#include <OgreConfigFile.h>
#include <OISEvents.h>
#include <OISInputManager.h>
#include <OISKeyboard.h>
#include <OISMouse.h>
class OgreFramework : public Ogre::Singleton<OgreFramework>,OIS::KeyListener,OIS::MouseListener{
public:
OgreFramework();
~OgreFramework();
bool initOgre(Ogre::String wndTitle, OIS::KeyListener *pKeyListener = 0, OIS::MouseListener *pMouseListener = 0);
void updateOgre(double timeSinceLastFrame);
//OIS
bool keyPressed(const OIS::KeyEvent &keyEventRef);
bool keyReleased(const OIS::KeyEvent &keyEventRef);
bool mouseMoved(const OIS::MouseEvent &evt);
bool mousePressed(const OIS::MouseEvent &evt, OIS::MouseButtonID id);
bool mouseReleased(const OIS::MouseEvent &evt, OIS::MouseButtonID id);
Ogre::Root* mRoot;
Ogre::RenderWindow* mRenderWnd;
Ogre::Viewport* mViewport;
Ogre::Log* mLog;
Ogre::Timer* mTimer;
//OIS
OIS::InputManager* mInputMgr;
OIS::Keyboard* mKeyboard;
OIS::Mouse* mMouse;
private:
OgreFramework(const OgreFramework&);
OgreFramework& operator= (const OgreFramework&);
};
#endif
【问题讨论】:
-
Framework.h中有什么内容?显示代码。 -
那是哪个文件?你使用预编译头文件吗?因为这就是 PCH 的含义。你有 StdAfx.h 文件吗?我们可能需要查看您的整个包含图片以了解错误来自何处。似乎某处有一个未封闭的#if 块。
-
顺便说一句,如果 Framework.h 包含预编译头文件,那很可能是错误。尝试将其包含移动到 #if/#endif 标头保护之外(或使用 #pragma 一次),看看会发生什么。
-
这里没有预编译的头文件。请参阅 Framework.h 的编辑
-
这里没有包含 AppState.h 的文件,否则我会显示它!从进一步的谷歌搜索来看,这是 Visual Studio 中的一个错误,但如果包含在 cpp 文件中,则只要有问题的标头就可以解决,这将是。如果你有兴趣,这里有人比我和微软的回复更好地描述了这个问题:connect.microsoft.com/VisualStudio/feedback/details/651405/…
标签: c++ visual-c++