SDL3 跨平台开发简明教程
SDL3-sample 源代码地址:GitHub Repository
项目简介
这是一个 SDL3 的简明教程,指导如何在包括移动和 Web 在内的各种平台上构建和使用 SDL3。项目还包含 SDL_mixer、SDL_Image 和 SDL_ttf 的支持。
最小化示例说明
这是一个使用 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/ 目录内的初始化脚本。然后在 IDE 中打开 build/ 目录下的项目(如果 CMake 生成了)并运行!
支持平台
已在以下平台测试通过:
| 平台 | 架构 | 生成器 |
|---|---|---|
| macOS | x86_64, arm64 | Xcode |
| iOS | x86_64, arm64 | Xcode |
| tvOS | x86_64, arm64 | Xcode |
| visionOS* | arm64 | Xcode |
| Windows | x86_64, arm64 | Visual Studio |
| Linux | x86_64, arm64 | Ninja, Make |
| Web* | wasm | Ninja, Make |
| Android* | x86, x64, arm, arm64 | Ninja via Android Studio |
*更多说明请查看 config/ 目录。
注意:UWP 支持在 SDL3 开发过程中已被移除。出于历史原因,可通过特定提交获取可用的 UWP 示例。
更新 SDL
只需更新子模块:
cd SDL
git pull
cd ..
cd SDL_ttf
git pull
你不需要使用子模块,也可以直接复制源码。本仓库使用子模块以保持体积最小。
问题反馈
如果有问题无法解决?请在此仓库创建 Issue 或发送 Pull Request!

