Windows与Linux下 SDL2的第一个窗口程序
Windows效果和Linux效果如下:
下面是代码:
#include <stdio.h>
#include "SDL.h"
int main(int argc, char* argv[])
{
// 初始化SDL视频子系统
if (SDL_Init(SDL_INIT_VIDEO) != 0)
{
// 如果初始化失败,打印错误信息
printf("Error: %s\n", SDL_GetError());
return -1;
}
// 创建窗口
SDL_Window *window = SDL_CreateWindow("My",
SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 640, 480, SDL_WINDOW_SHOWN);
if (!window)
{
// 如果窗口创建失败,打印错误信息
printf("Error: %s\n", SDL_GetError());
return -1;
}
// 创建渲染器
SDL_Renderer * renderer = SDL_CreateRenderer(window, -1, 0);
if (renderer == NULL) {
// 如果渲染器创建失败,记录错误信息
SDL_LogError(SDL_LOG_CATEGORY_RENDER, "Couldn't create renderer: %s", SDL_GetError());
return -1;
}
// 设置渲染器的绘制颜色为红色
SDL_SetRenderDrawColor( renderer, 0, 255, 0, 255 );
// 清除渲染器的绘制缓冲区
SDL_RenderClear( renderer );
// 将当前渲染器的绘制结果呈现到窗口上
SDL_RenderPresent( renderer );
// 暂停10秒,以便用户可以看到窗口
SDL_Delay(10000);
// 销毁窗口并退出SDL子系统
SDL_DestroyWindow(window);
SDL_Quit();
return 0; // 主函数正常结束
}
Windows下下载dll库就行了
Linux下需要安装
sudo apt install libsdl2-dev