我遇到了以下问题:
我得到了我的主要c ++文件,其中包含了
#include <SDL2/SDL.h>
在编写了一些SDL c ++代码之后,我想将我的程序拆分为不同的类。
问题是我试着说:#include <SDL2/SDL.h>
在新的&#34;引擎&#34;但我并不认为它包括SDL。
我正在使用xcode 5。 如果我在main.cpp
中编写代码,SDL框架可以正常工作引擎类:
#include "Engine.h"
#include <SDL2/SDL.h>
using namespace std;
class Engine
{
SDL_Window *window = NULL;
SDL_Surface *screenSurface = NULL;
public:
Engine();
bool init();
bool loadMedia();
void close();
}
我仍然在绘图板上,我需要什么样的课程。 这是Engine.h
#ifndef __Engine4__Engine__
#define __Engine4__Engine__
#include <iostream>
#include <SDL2/SDL.h>
class Engine
{
}
#endif /* defined(__Engine4__Engine__) */
当我写SDL _
时,我的xcode5不会有建议答案 0 :(得分:0)
问题是您尚未创建Engine.h
并且在它不存在时尝试引用它。问题不在于SDL,而在于您不确定如何在c ++中创建class
。
您需要同时创建Engine.h
和Engine.cpp
Engine.h
看起来像
#ifndef ENGINE_H
#define ENGINE_H
#include <SDL2/SDL.h>
class Engine
{
public:
Engine();
bool init();
bool loadMedia();
void close();
private:
SDL_Window *window;
SDL_Surface *screenSurface;
};
#endif
然后你需要创建一个看起来像
的Engine.cpp
文件
#include "Engine.h"
Engine::Engine() :
window(nullptr),
screenSurface(nullptr)
{
}
// Rest of code from header file
详细了解如何使用C ++ here创建类。