news 2026/9/13 18:05:40

raylib 游戏开发库快速上手:5 分钟出第一个窗口,30 分钟拿到可发布构建

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
raylib 游戏开发库快速上手:5 分钟出第一个窗口,30 分钟拿到可发布构建

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 X11Linux 下这两个后端不能同时关,配置时别把GLFW_BUILD_WAYLANDGLFW_BUILD_X11都设 OFF
有画面没声音缺音频后端库,sudo apt install libasound2-dev libpulse-dev,装完重编 raylib
手工 gcc 链接报 GL 符号未定义链接行补-lGL -lpthread -ldl;走 CMake 链接则不会有这个问题
找不到emcmake命令Emscripten 环境没激活,先source emsdk_env.sh再配置

最后:怎么选,然后去哪

版本发布怎么选
6.02026-04新项目直接用,软件渲染后端意味着无 GPU 环境也能跑
5.52024-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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!