raylib 跨平台游戏开发库3分钟跑通你的第一个游戏窗口【免费下载链接】raylibA simple and easy-to-use library to enjoy videogames programming项目地址: https://gitcode.com/GitHub_Trending/ra/raylib打开终端想在半小时内让一个游戏窗口出现在屏幕上raylib 是个省心的选择C 语言写的轻量游戏库零外部依赖所需组件全部随仓库内置Windows、macOS、Linux 和浏览器平台原生支持。这篇文章面向刚上手想快速跑通 Demo 的开发者也适合做技术选型时评估学习成本的工程师。整条路线是环境就位 → 窗口跑起来 → 看懂架构 → 按需裁剪 → 报错速查 → 进入正式开发。安装与构建 raylib环境一键就位检查工具链是否已具备先确认三样东西都在缺什么补什么gcc --version # C 编译器macOS 上为 clang make --version # 构建工具 git --version # 拉取源码✅ 成功标志三条命令都输出版本号。包管理器与源码构建两条路线各平台的包管理器都收录过 raylib命令以你发行版的软件源为准平台包管理器路线省事但版本常偏旧Debian/Ubuntusudo apt install libraylib-devArchsudo pacman -S raylibmacOSbrew install raylibWindows若包管理器版本过旧走下面的源码路线MSYS2/MinGW后续还要按需裁剪模块、指定 OpenGL 版本所以正文统一走源码构建一条命令通吃所有平台git clone https://gitcode.com/GitHub_Trending/ra/raylib cd raylib/src make # 构建静态库 libraylib.a sudo make install # 安装头文件与库到 /usr/local✅ 成功标志ls /usr/local/lib | grep raylib能看到libraylib.a。⚠️ 包管理器里的版本通常落后于仓库API 是否对齐以仓库 CHANGELOG 为准。跑通第一个 raylib Demo从代码到窗口不用手写编译参数直接用官方示例的 Makefile它会自动处理各平台的链接标志。示例源码在 examples/core/core_basic_window.c最小骨架不到 20 行#include raylib.h int main(void) { InitWindow(800, 450, raylib first window); SetTargetFPS(60); // 目标 60 帧 while (!WindowShouldClose()) // ESC 或点关闭按钮时退出 { BeginDrawing(); ClearBackground(RAYWHITE); DrawText(Congrats! You created your first window!, 190, 200, 20, LIGHTGRAY); EndDrawing(); } CloseWindow(); return 0; }编译运行一步到位cd raylib/examples make core/core_basic_window # 只编译这一个示例链接参数自动处理 ./core/core_basic_window # 可执行文件与 .c 文件同目录确认三件事环境就算真正就绪了出现 800x450 窗口显示 Congrats! You created your first window!控制台首行 INFO 日志正常打印含所用 OpenGL 版本与平台后端按 ESC 或点关闭按钮程序干净退出回到终端 examples 目录按 core、shapes、textures、models、audio、shaders 等九个模块收录了 200 多个示例make [模块]/[示例名]可单独编译任意一个是官方认定的学习入口。它是怎么跑起来的从 API 到 OpenGL 剥洋葱窗口弹出来后花一分钟理解分层后面读源码、改配置会快很多。外层一个头文件。你日常只接触src/raylib.h这一个入口纯 C99InitWindow、DrawText、LoadModel全部统一 PascalCase 命名没有类、没有命名空间。中层按职责拆模块。src/下 rcore 管窗口与输入rlgl 封装 OpenGLrshapes/rtextures/rtext/rmodels/raudio 各管图形、纹理、文字、模型、音频。每个模块都可在 src/config.h 里用SUPPORT_MODULE_RAUDIO之类的开关整体裁掉。底层依赖全部内置。src/external/ 里打包了 glfw窗口/输入、stb 系列图像/字体、miniaudio音频、cgltf 与 tinyobj模型。这就是 raylib 装完即编译、不用装任何系统库的由来。src/ ├── raylib.h ← 你只写这一层 ├── rcore.c 窗口/输入/平台适配platforms/ 下按后端选 ├── rlgl.h OpenGL 抽象层可单独当轻量 GL 封装用 ├── rshapes.c / rtextures.c / rtext.c / rmodels.c / raudio.c └── external/ glfw、stb、miniaudio、cgltf… 全部内置两个值得知道的设计取舍一是依赖 vendored 进仓库代价是仓库体积大换来的是任何机器上 clone 完就能编译CI 不用配环境二是rlgl 可以独立使用即使不用 raylib 的整套 API它也能作为 standalone 的 OpenGL 封装直接引用。rlgl rmodels 这层叠出来的效果大致如下按需配置指南发布单文件、跑进浏览器发布静态链接的单文件raylib 默认产物就是静态库BUILD_SHARED_LIBS默认 OFF所以单文件发布几乎是零成本——把库链进可执行文件即可find_package(raylib REQUIRED) # 找到 /usr/local 里装好的库 add_executable(mygame main.c) target_link_libraries(mygame raylib) 官方模板 projects/CMake/ 里这套配置是现成的本机没装 raylib 时它会自动拉取源码构建不用手动干预。WebAssembly 构建流程目标浏览器玩家时需要先装好 emscripten 工具链然后emcmake cmake -B build-web -S . # 自动识别为 Web 平台 cmake --build build-web产物是 html wasm直接丢进任意静态服务器就能在浏览器里跑。旧显卡降级与模块裁剪默认目标图形 API 是 OpenGL 3.3驱动过老或远程桌面跑不动时在 cmake 参数里显式选版本即可可选值 4.3/3.3/2.1/1.1/ES 2.0/ES 3.0cmake -B build -S . \ -DOPENGL_VERSION2.1 \ -DCUSTOMIZE_BUILDON -DSUPPORT_MODULE_RAUDIOOFF # 纯 2D 游戏砍掉音频CUSTOMIZE_BUILDON是总闸打开后 CMakeOptions.txt 里的所有开关才会生效配置项较多时建议先查它再动手。报错速查症状高频原因一条修复命令raylib.h: No such file or directory源码构建后漏了安装步骤cd raylib/src sudo make install窗口秒退或提示需要更高 OpenGL 版本显卡/驱动/远程桌面不满足 OpenGL 3.3cmake 配置时加-DOPENGL_VERSION2.1重新构建链接期报-lraylib: cannot find库没装进默认搜索路径编译时补-I/usr/local/include -L/usr/local/lib窗口里中文全是?或方块内置默认字体不含中文字形改用LoadFontEx(你的字体.ttf, 20, NULL, 0)加载中文字体图像正常但没声音Linux 缺音频后端库sudo apt install libasound2-dev后重新构建 raylib⚠️ 若仍无效glxinfo | grep OpenGL version核对驱动实际能力再看运行日志首行——raylib 启动时会打印所选图形版本与平台后端八成答案在那里。从 Demo 到正式项目IDE 集成VS Code 与官方项目模板VS Code 只需一个最小的 C/C 配置把仓库头文件指给 IntelliSense{ configurations: [{ name: raylib, includePath: [${workspaceFolder}/src], compilerPath: /usr/bin/gcc, cStandard: c11 }] }不用手搓的人仓库 projects/ 目录备好了 VS2022、Code::Blocks、Geany、Zig 等整套现成工程打开即用。用 CMake 模板开始正式开发构建系统二选一的话推荐 CMake把官方模板拷成自己的工程改个文件名就开工cp -r raylib/projects/CMake mygame cd mygame # 将 core_basic_window.c 改名为你自己的 main.c同步改 CMakeLists 里的可执行文件名 mkdir build cd build cmake .. make回扣开头那 30 分钟800x450 的白窗口只是热身想要相机跟随、粒子特效还是 3D 场景examples/ 里 200 多个示例按模块分好了类挑一个make出来读源码比自己造轮子快得多。至于 raylib 下一版要往哪走翻一翻仓库根目录的 ROADMAP 就知道答案。【免费下载链接】raylibA simple and easy-to-use library to enjoy videogames programming项目地址: https://gitcode.com/GitHub_Trending/ra/raylib创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考