这个错误意味着编译器找不到SDL_Init函数的定义。有可能是SDL库没有正确链接,需要在编译时加入SDL库文件。可以在编译命令中加入“-lSDL2”,例如:
gcc main.c -o main -lSDL2
此外,还需要确保SDL的头文件路径已经正确设置。下面是一个使用SDL_Init的示例代码:
#include
int main(int argc, char *argv[]) { if (SDL_Init(SDL_INIT_VIDEO) != 0) { printf("SDL_Init Error: %s\n", SDL_GetError()); return 1; }
SDL_Window *window = SDL_CreateWindow("Hello World!",
SDL_WINDOWPOS_CENTERED,
SDL_WINDOWPOS_CENTERED,
640, 480, SDL_WINDOW_SHOWN);
if (window == NULL) {
printf("SDL_CreateWindow Error: %s\n", SDL_GetError());
SDL_Quit();
return 1;
}
SDL_Delay(3000); // 显示窗口3秒钟
SDL_DestroyWindow(window);
SDL_Quit();
return 0;
}
上一篇:编译时出现“free():在尝试使用函数复制字符串后出现无效指针错误”
下一篇:编译时出现“结构体指针不兼容的警告”(Getting-Wincompatible-pointer-typesforstructpointerwarningwhencompiling)