编译器不会返回缺少的 SDL.h,而是 SDL_DisplayFormat 未在位于不同标头的类成员函数的范围内声明,即使我已在 main 中对其进行了初始化。
SDL_Surface *SpriteLoad::Load(char *File)
{
SDL_Surface *temp = NULL;
SDL_Surface *opt = NULL;
if ((temp = IMG_Load(File)) == NULL)
{
return NULL;
}
opt = SDL_DisplayFormat(temp);
SDL_FreeSurface(temp);
return opt;
}
我的主要通过类和成员函数初始化 SDL:
int main (int args, char *argc[])
{
bool quit = false;
OnRun Game; // Class that init's SDL
Window TestWin;
GlobalTimer fps;
TestWin.Debug();
我可以使用 SDL_Window 使用该类创建一个窗口,也可以使用 SDL_GetTick。
编辑:用于 Sprite::Load 的标头当前是从 mercurial 存储库中提取和构建的 SDL、SDL_image、SDL_ttf 和 SDL_mixer。我不认为这是一个链接错误