我已经开始使用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功能似乎都没问题。
有谁知道如何解决这个问题?
答案 0 :(得分:2)
你拼错了。它应该是SDL_Flip
,而不是SLD_Flip
。
另外,您尚未在buffer
中初始化变量main
。您没有在gameSystem::gameSystem()
内设置其值;变量超出了范围。