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
相关推荐
驱动开发00713 分钟前
Windows_Hello_Configuration_Analysis Windows Hello 配置过程分析 setup包分析
windows·驱动开发·云计算·计算机外设·usb重定向
oioihoii15 分钟前
跨越进程的对话之从管道到gRPC的通信技术演进
c++
weixin_4397062518 分钟前
JAVA版日语50音训练(读音强化记忆)
windows
阿蒙Amon28 分钟前
C#每日面试题-简述C#访问修饰符
windows·microsoft·c#
爱装代码的小瓶子41 分钟前
算法【c++】二叉树搜索树转换成排序双向链表
c++·算法·链表
阳洞洞1 小时前
cmake中如何从include_directories中移除某个特定的头文件
c++·cmake
墨雪不会编程1 小时前
C++【string篇1遍历方式】:从零开始到熟悉使用string类
java·开发语言·c++
蓝色汪洋3 小时前
经典修路问题
开发语言·c++·算法
DARLING Zero two♡4 小时前
接入 AI Ping 限免接口,让 GLM-4.7 与 MiniMax-M2.1 成为你的免费 C++ 审计专家
开发语言·c++·人工智能
潇与上海4 小时前
【Windows任务栏的文件资源管理器打不开”没有与之关联的应用”】
windows