跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
C++

SDL3 Sample 简明教程:跨平台构建与使用指南

介绍 SDL3 Sample 项目,一个基于 C++ 和 CMake 的 SDL3 最小化示例。教程涵盖了在 macOS、iOS、Windows、Linux、Web 及 Android 等平台上的构建与运行步骤。项目集成了 SDL_mixer、SDL_Image 和 SDL_ttf 库,并提供了源码安装、子模块更新及问题反馈指引,适合希望快速上手 SDL3 跨平台开发的开发者参考。

清酒独酌发布于 2026/4/6更新于 2026/7/2453 浏览

SDL3 Sample 简明教程:跨平台构建与使用指南

SDL3 Sample 源代码地址为:https://github.com/Ravbug/sdl3-sample

sdl3-sample

SDL3 Sample 是 SDL3 的简明教程,指导如何在包括移动和 Web 在内的各种平台上构建和使用 SDL3。还包含 SDL_mixer、SDL_Image 和 SDL_ttf!

从源码构建 SDL3 应用最小示例

这是一个使用 C++ 和 CMake 从源码构建和使用 SDL3、SDL_Mixer、SDL_Image 和 SDL_ttf 的最小示例。它还演示了设置 macOS/iOS 包等配置。 代码详见:src/main.cpp

构建与运行

如果你是初学者,建议先阅读相关环境配置说明。否则,请安装 CMake 和你喜欢的编译器,并执行以下命令:

# 需要克隆子模块,否则 SDL 不会下载
git clone https://github.com/Ravbug/sdl3-sample --depth=1 --recurse-submodules
cd sdl3-sample
cmake -S . -B build

你也可以在 config/ 目录中使用初始化脚本。然后在 build/ 中打开 IDE 项目(如果 CMake 生成了的话)并运行!

支持的平台

已测试以下平台:

平台架构生成器
macOSx86_64, arm64Xcode
iOSx86_64, arm64Xcode
tvOSx86_64, arm64Xcode
visionOS*arm64Xcode
Windowsx86_64, arm64Visual Studio
Linuxx86_64, arm64Ninja, Make
Web*wasmNinja, Make
Android*x86, x64, arm, arm64Ninja via Android Studio

*详见 config/ 中的进一步说明。

注意:UWP 支持已在 SDL3 开发过程中 被移除。出于历史原因,可通过此提交获取可用的 UWP 示例:

df270da
更新 SDL

只需更新子模块:

cd SDL
git pull
cd ..
cd SDL_ttf
git pull

你不需要使用子模块,也可以直接复制源码。该仓库使用子模块以保持体积最小化。

问题反馈

如果有问题无法运行?请在此仓库创建 Issue 或发送 Pull Request!

运行结果示例

在 MacOS 中运行结果:

在 MacOS 中运行结果

在 Windows 11 中运行结果:

在 Windows 11 中运行结果

参考资料

  • https://github.com/Ravbug/sdl3-sample
  • Introduction to SDL with CMake
  • https://github.com/libsdl-org/SDL
  • https://libsdl.org/

目录

  1. SDL3 Sample 简明教程:跨平台构建与使用指南
  2. 从源码构建 SDL3 应用最小示例
  3. 构建与运行
  4. 需要克隆子模块,否则 SDL 不会下载
  5. 支持的平台
  6. 更新 SDL
  7. 问题反馈
  8. 运行结果示例
  9. 参考资料
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 深度剖析 Rokid SLAM 算法:从传感器融合到空间重建
  • 人工智能安全与伦理 - 单元知识点总结
  • VS Code 远程连接服务器后 GitHub Copilot 无法使用问题的解决方案
  • Flutter 三方库 flutter_cors 解决鸿蒙 Web 与混合开发跨域问题
  • Naiz AI:从语义到像素的全球视频本地化方案
  • 使用文心一言为智能体设计稳定调用工作流的提示词
  • 通义灵码企业知识库 RAG 五大核心应用场景
  • Codex 与字节跳动 Trae 的 AI 代码生成实践
  • C++ STL vector 容器模拟实现及迭代器失效问题详解
  • 通义万相 2.1 上手与效果观察
  • 通义万相 2.1 文生视频模型部署及性能测试
  • FPGA 入门教程:基于 Quartus 的 LED 点亮流程
  • OpenClaw 技能精选:为本地 AI 助手构建能力库
  • 基于 DeepFace 与 OpenCV 的实时情绪分析实战
  • 字节 Seedance 2.0 评测与多渠道使用指南
  • 有向无环图(DAG)介绍:环检测、DFS 法与 Kahn 算法
  • LIBERO:终身机器人学习数据集与基准测试平台简介
  • Redis Set 数据结构与 C++ 实战指南
  • Spring Cloud Nacos 服务注册与配置中心实战
  • GitHub Copilot 安装与使用详解

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online