【问题标题】:Game Program in c++ and SDL. 'SLD_Flip' errorc++ 和 SDL 中的游戏程序。 “SLD_Flip”错误
【发布时间】:2012-07-07 00:51:44
【问题描述】:

我已经开始使用 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

我收到以下错误:“错误:'SLD_Flip' 未在此范围内声明”在 main.cpp 的第 12 行。

所有其他 SDL 功能似乎都很好。

有人知道如何解决这个问题吗?

【问题讨论】:

    标签: c++ sdl


    【解决方案1】:

    你拼错了。应该是SDL_Flip,而不是SLD_Flip

    另外,您还没有在main 中初始化变量buffer。您没有在gameSystem::gameSystem() 内设置它的值;变量超出范围。

    【讨论】:

    • 非常感谢蒂姆:D 我不敢相信我花了这么长时间试图找出这个简单的错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-03
    • 2013-05-07
    相关资源
    最近更新 更多