1

SDL を使用して C++ でゲームを作成し始めました。私のコードは次のとおりです。

main.cpp

#include "SDL/SDL.h"
#include "gameSystem.h"

int main(int argc, char *args[])
{
    gameSystem systemHandler;
    SDL_Surface *buffer;
    SDL_Event event;
    while(event.type != SDL_QUIT)
    {
        SDL_PollEvent(&event);
        SLD_Flip(buffer);
    }
}

gameSystem.cpp

#include "SDL/SDL.h"
#include "gameSystem.h"

gameSystem::gameSystem()
{
    SDL_Init(SDL_INIT_EVERYTHING);
    SDL_WM_SetCaption("GameName", NULL);
    SDL_Surface *buffer;
    bool fullscreen = false;
    if (fullscreen == true)
        {buffer = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE | SDL_FULLSCREEN);}
    else
        {buffer = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE);}
}

gameSystem::~gameSystem()
{
    SDL_Quit();
}

gameSystem.h

class gameSystem
{
    public:
        gameSystem();
        ~gameSystem();
    private:
        SDL_Surface *buffer;
};

私のリンカオプションは次のとおりです。 -lmingw32 -lSDLmain -lSDL -lwinmm -sdl_Mixer

main.cpp の 12 行目に「エラー: 'SLD_Flip' はこのスコープで宣言されていませんでした」というエラーが表示されます。

他のすべての SDL 関数は問題ないようです。

この問題を解決する方法を知っている人はいますか?

4

1 に答える 1

2

スペルを間違えました。SDL_FlipではないはずSLD_Flipです。

また、で変数bufferを初期化していませんmain。内部で値を設定していませんgameSystem::gameSystem(); 変数は範囲外です。

于 2012-07-06T02:08:03.120 に答える