ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

raylib 10 分钟上手:CMake 构建全流程,产出可发布游戏

2026/9/13 7:22:26 拓冰建站 浏览量
raylib 10 分钟上手:CMake 构建全流程,产出可发布游戏 raylib 10 分钟上手:CMake 构建全流程,产出可发布游戏【免费下载链接】raylibA simple and easy-to-use library to enjoy videogames programming项目地址: https://gitcode.com/GitHub_Trending/ra/raylibraylib 是一个轻量级 C 游戏库,2D、3D 都能做。这里带你从 clone 仓库到首次跑通用 4 步,最后拿到一份最小可发布的构建骨架,产物是单个可直接分发的可执行文件。30 秒认清 raylib:2D/3D 通吃,单窗口raylib 是一个用 C99 写的游戏开发库,2D、3D 都能做,原生支持 Windows、Linux、macOS、Android 和 Web。它擅长 2D 小游戏、教学原型和小体量 Web 3D;设计上它是单窗口、单上下文,不适合大型 3D 引擎或重 UI 场景。动手前预检:四项前置要求一次查清先确认环境没走偏,比编译到一半卡住省事。检查项最低要求查看方式C 编译器gcc 或 clang,支持 C99gcc --version输出含版本号CMake3.22 及以上cmake --versionOpenGL 驱动3.3glxinfo \| grep OpenGL versiongit任意近版本git --version 查出来 OpenGL 是 2.1 也不用硬凑:配置时加-DOPENGL_VERSION2.1,或直接走软件渲染后端,6.0 的 rlsw 后端无 GPU 也能跑。10 分钟跑通首次运行:CMake 编译最小示例唯一推荐路径:源码 CMake 编译,配置时默认把示例一起编了。拉仓库进目录git clone https://gitcode.com/GitHub_Trending/ra/raylib cd raylib验证信号:ls输出含src/、examples/、CMakeLists.txt。配置,示例默认开启cmake -B build验证信号:输出含Building examples is enabled,退出码为 0。编译cmake --build build -j4验证信号:编译无报错,build 目录下出现 libraylib.a。跑第一个窗口./build/examples/core/core_basic_window验证信号:弹出 800x450 窗口,按 ESC 关闭,退出码为 0。备选:用 apt 或 brew 安装系统包会更快,但版本偏旧且动不了开关,不推荐。三分钟看懂核心设计:三大模块 零外部依赖rlgl(rlgl.h):OpenGL 抽象层,所有 2D/3D 绘制从这走raymath(raymath.h):向量、矩阵、四元数,3D 场景标配rcore(rcore.c):窗口、事件循环,统一键盘、鼠标、手柄输入为什么开箱即用:所有第三方依赖——OpenGL 加载器 glad、图片 stb、音频 miniaudio、窗口 glfw 等——全部内嵌在 src/external/ 里。装完 raylib 不用再装任何系统库,配置、编译两步就能用。从 demo 到可发布产物:两份文件的最小骨架最小可发布项目就 CMakeLists.txt 加 main.c,默认静态链接,不用额外折腾。cmake_minimum_required(VERSION 3.11) project(mygame) find_package(raylib REQUIRED) add_executable(mygame main.c) target_link_libraries(mygame raylib) set_target_properties(mygame PROPERTIES LINK_FLAGS -static)#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(); }验证信号:产物mygame是单个可执行文件,拷到干净机器直接能跑。两个可选进阶点:模块裁剪:配置加-DCUSTOMIZE_BUILDON,出现USE_AUDIO等开关,关掉用不到的模块能明显减小库体积Web 构建:代码不动,emcmake cmake -B build-web接emmake cmake --build build-web -j4,产物是 HTML,丢到任何静态托管就能玩自救速查与延伸:卡住先查表常见问题速查表:现象到命令一步到位典型现象最可能原因第一反应命令备注raylib.h: No such file头文件/库路径没进编译搜索范围pkg-config --cflags raylib查实际-I/-L再编源码走 CMake 编译不会遇到窗口闪退或黑屏OpenGL 版本太低glxinfo \| grep OpenGL version低于 3.3 就加-DOPENGL_VERSION2.1重配有画面没声音缺音频后端库sudo apt install libasound2-dev装完重编 raylib 即可链接报 GL 符号未定义手工 gcc 漏链系统库补-lGL -lpthread -ldl只出现在绕过 CMake 手链时版本选择与下一步:6.0 和 5.5 怎么挑⚠️ 6.0 有 API 移除,升级前先翻一遍 CHANGELOG。版本发布时间新增重点升级注意6.02026-04软件渲染后端、新文件系统/文本 API、骨骼动画重做GIF 录制等 API 已移除,逐条对照 CHANGELOG5.52024-11GPU 蒙皮、RGFW/SDL3 后端、新增主机平台GetMouseRay改名为GetScreenToWorldRay,移植时一次改完下一步动作:打开 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),仅供参考