raylib 游戏开发库快速上手:5 分钟出第一个窗口,30 分钟拿到可发布构建
【免费下载链接】raylibA simple and easy-to-use library to enjoy videogames programming项目地址: https://gitcode.com/GitHub_Trending/ra/raylib
raylib 是一个轻量跨平台的 C 语言游戏开发库,2D 和 3D 都能写,零外部依赖。本文带你走完完整链路:源码 CMake 编译 → 弹出第一个窗口 → 改成自己的代码 → 拿到静态链接的可发布产物。跟着命令敲就行,每步都有明确的"跑通"标志。适合想快速入门 raylib 的 C 开发者,和需要发布独立小游戏的团队。
5 分钟:先看到第一个结果
只走一条最快路径:clone 源码,CMake 配置,编译,跑示例。仓库顶层 CMake 默认会连同示例一起编译,不用额外开关。macOS / Windows / Linux 通用。
刚 clone 完仓库、想立刻看到画面的,跑这段:
git clone https://gitcode.com/GitHub_Trending/ra/raylib cd raylib cmake -B build # 顶层配置,默认同时编译全部示例 cmake --build build -j4 ./build/examples/core_basic_window成功标志:终端最后打印 OpenGL 版本信息,然后弹出一个 800x450 窗口,中间写着 "Congrats! You created your first window!"。按 ESC 或点关闭能正常退出,没报错就算跑通。
15 分钟:改成你自己的
现在窗口里还是官方文字。改一行,让它变成你自己的东西。打开 examples/core/ 下的core_basic_window.c,找到这个函数调用:
DrawText("Congrats! You created your first window!", 190, 200, 20, LIGHTGRAY);把文字换成你想放的任何内容,比如DrawText("my first raylib window", 300, 200, 20, LIGHTGRAY);。然后重编译这一个目标:
cmake --build build --target core_basic_window -j4 ./build/examples/core_basic_window成功标志:窗口里显示的已经是你写的文字。改一行代码、重编译、出窗,这就是 raylib 开发循环的全部成本。
拆开看:凭什么这么简单
- 自包含源码树:所有第三方依赖(图像、音频、字体)都内嵌在 src/external/,装完不用再给系统补库。
- OpenGL 抽象层独立:
rlgl单独成模块,还内置纯软件渲染后端rlsw,没有 GPU 也能跑。 - 模块开关化:图形、音频、模型、文本各是独立模块,不用的可以整个关掉。
- CMake 即接口:
CMakeOptions.txt里把平台、OpenGL 版本、模块全做成了命令行开关。
30 分钟:做成能发布的
最小可发布项目就两个文件。构建文件照 projects/CMake/ 里的官方模板改,raylib 默认编译成静态库,链接进你的可执行文件后没有额外运行时依赖:
要发布独立产品的,CMakeLists.txt 骨架(模板可直接整体拷贝参考):
cmake_minimum_required(VERSION 3.11) project(mygame) find_package(raylib 6.0 REQUIRED) # 找系统里装好的 raylib add_executable(mygame main.c) target_link_libraries(mygame raylib) # 静态链接,发布无额外依赖程序本体,标准三段:初始化、主循环、关闭:
#include <raylib.h> int main(void) { InitWindow(800, 450, "my first game"); // 初始化窗口 while (!WindowShouldClose()) { BeginDrawing(); ClearBackground(RAYWHITE); DrawText("hello raylib", 340, 200, 20, LIGHTGRAY); EndDrawing(); } CloseWindow(); return 0; }cmake -B build && cmake --build build后产物是单个mygame可执行文件。
💡 两个扩展方向,各改一行命令的事:
- Web 版:装好 Emscripten 后把配置换成
emcmake cmake -B build-web -DPLATFORM=Web,再emmake cmake --build build-web -j4,产物是.html,扔到静态托管就能在浏览器玩。代码一个字不用改。 - 兼容老显卡:配置时加
-DOPENGL_VERSION=2.1,同一套代码跑旧 OpenGL 环境。
翻车自救表
| 典型现象 | 解法 + 第一反应命令 |
|---|---|
raylib.h: No such file | 头文件没进搜索路径。用 CMake 模板的find_package别手工 gcc;临时救急加-I<raylib头文件目录> -L<库目录> -lraylib |
| 窗口打不开,日志抱怨 OpenGL 版本 | 用glxinfo \| grep "OpenGL version"查实际版本,配置时加-DOPENGL_VERSION=2.1降级重试 |
CMake 报Cannot disable both Wayland and X11 | Linux 下这两个后端不能同时关,配置时别把GLFW_BUILD_WAYLAND和GLFW_BUILD_X11都设 OFF |
| 有画面没声音 | 缺音频后端库,sudo apt install libasound2-dev libpulse-dev,装完重编 raylib |
| 手工 gcc 链接报 GL 符号未定义 | 链接行补-lGL -lpthread -ldl;走 CMake 链接则不会有这个问题 |
找不到emcmake命令 | Emscripten 环境没激活,先source emsdk_env.sh再配置 |
最后:怎么选,然后去哪
| 版本 | 发布 | 怎么选 |
|---|---|---|
| 6.0 | 2026-04 | 新项目直接用,软件渲染后端意味着无 GPU 环境也能跑 |
| 5.5 | 2024-11 | 求稳、或要跟旧教程保持一致时用这个 |
升级前翻一遍 CHANGELOG,里面有 API 改名的标注。下一步别急着写自己的游戏:打开 examples/,按 core → shapes → textures → models 的顺序各挑两三个跑,每个文件都是能直接编译的最小范例,比读文档学得快。
【免费下载链接】raylibA simple and easy-to-use library to enjoy videogames programming项目地址: https://gitcode.com/GitHub_Trending/ra/raylib
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考