SDL和xcode5 - SDL在不同的类中

时间:2014-03-21 12:21:37

标签: c++ xcode sdl

我遇到了以下问题:

我得到了我的主要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不会有建议

1 个答案:

答案 0 :(得分:0)

问题是您尚未创建Engine.h并且在它不存在时尝试引用它。问题不在于SDL,而在于您不确定如何在c ++中创建class

您需要同时创建Engine.hEngine.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创建类。