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
相关推荐
南境十里·墨染春水39 分钟前
C++笔记 STL——set
开发语言·c++·笔记
L16247640 分钟前
Win11 共享→Windows Server 访问故障总结(极简可复用)
开发语言·windows·php
dgaf1 小时前
DX12 快速教程(17) —— 立体图标与合并渲染
c语言·c++·3d·图形渲染·d3d12
love530love1 小时前
ComfyUI MediaPipe 终极填坑:解决 incompatible function arguments 报错,基于代理模式的猴子补丁升级版
人工智能·windows·comfyui·mediapipe·猴子补丁·monkey patch·python 3.12
今夕资源网2 小时前
Windows Terminal更舒适的命令行环境 仅11MB 支持并行运行WSLLinux子系统 github开源项目
windows·github·命令行·cmd·terminal
java_logo3 小时前
SiYuan 思源笔记 Docker 部署终极指南:Windows+Linux 双平台
windows·笔记·docker·思源笔记·思源笔记部署·docker部署思源笔记·思源笔记文档
charlie1145141914 小时前
通用GUI编程技术——图形渲染实战(三十八)——顶点缓冲与输入布局:GPU的第一个三角形
开发语言·c++·学习·图形渲染·win32
用户805533698034 小时前
现代Qt开发教程(新手篇)1.10——进程
c++·qt
海参崴-4 小时前
C++ STL篇 AVL树的模拟实现
开发语言·c++
汉克老师4 小时前
GESP2025年6月认证C++五级( 第二部分判断题(1-10))
c++·贪心算法·分治算法·线性筛法·gesp5级·gesp五级