1

我已经开始用 SDL 用 C++ 制作游戏。我的代码是:

主文件

#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);
    }
}

游戏系统.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();
}

游戏系统.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

此外,您还没有buffermain. 您没有在gameSystem::gameSystem();中设置它的值 变量超出范围。

于 2012-07-06T02:08:03.120 回答