ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

raylib 安装跨平台实操:三条路线跑通第一个窗口,链接参数照着敲

raylib 安装跨平台实操:三条路线跑通第一个窗口,链接参数照着敲 raylib 安装跨平台实操三条路线跑通第一个窗口链接参数照着敲【免费下载链接】raylibA simple and easy-to-use library to enjoy videogames programming项目地址: https://gitcode.com/GitHub_Trending/ra/raylibraylib 是一个 C 语言写的跨平台游戏库把窗口、图形、纹理、模型、音频打包好。读完照命令敲完你手里会有一个能开窗口、能关掉的本地程序和一个find_package直接可用的库。装之前先确认这三件事raylib 跨平台前置检查C 编译器在手gcc --version能出结果走源码路线还需要cmake --version。OpenGL 能力默认构建目标是 3.3 上下文动手前用glxinfo确认显卡能给到。真实显示环境本地有桌面的会话才行SSH 空会话、远程虚拟桌面里没有真实 OpenGL 实现窗口必然起不来。三种装法按需求对号入座只想 5 分钟内跑起来 → 包管理器要固定版本但不想编译 → 预编译二进制包要裁剪模块、降 OpenGL 版本或出 WebAssembly → 源码编译。注意 raylib 默认产出静态库链接完就是独立可执行文件分发不用带 .dll / .so。⚠️ 最容易被漏的是音频开发库如libasound2-dev。缺了它编译照样成功跑起来却没声音而且必须补装依赖后重新编译 raylib 才能补上。按你的场景选一条路raylib 安装三种敲法包管理器路线一条命令版本被发行版锁死# Windows (PowerShell) choco install raylib # macOS brew install raylib # Linux sudo apt install libraylib-dev # Ubuntu/Debian; Arch: pacman -S raylib验证一行pkg-config --modversion raylib # prints the installed version能打印版本号就算装好。最小验证程序如下#include raylib.h int main(void) { InitWindow(800, 450, raylib test); SetTargetFPS(60); while (!WindowShouldClose()) { BeginDrawing(); ClearBackground(RAYWHITE); DrawText(Hello raylib!, 300, 200, 20, LIGHTGRAY); EndDrawing(); } CloseWindow(); return 0; }gcc test.c -o test -lraylib -lopengl32 -lgdi32 -lwinmm # Windows MinGW gcc test.c -o test -lraylib -framework OpenGL -framework Cocoa # macOS gcc test.c -o test -lraylib -lGL -lm -lpthread -ldl -lrt # Linux验收弹出 800x450 白窗显示一行字点关闭或按 ESC 干净退出环境就齐了。先用 apt 装了、后来发现要换 OpenGL 后端或裁模块 →sudo apt remove libraylib-dev卸掉切到源码路线两者不打架。预编译二进制路线省编译时间但要自己管目录拿一份 release 归档解压到固定位置头文件和库各归其位# keep include/ and lib/ apart for -I and -L later mkdir -p ~/raylib-pkg/include ~/raylib-pkg/lib cp raylib-6.0.0/include/raylib.h ~/raylib-pkg/include/ cp raylib-6.0.0/lib/libraylib.a ~/raylib-pkg/lib/验证ls ~/raylib-pkg/include/raylib.h ~/raylib-pkg/lib/libraylib.a验收两个文件都在之后编译带-I ~/raylib-pkg/include -L ~/raylib-pkg/lib -lraylib即可版本锁死在包的 tag 上。已经解压了 release 包、又发现想调构建选项 → 删掉目录直接走源码编译没有残留要清理。源码编译路线完全可控产物干净git clone https://gitcode.com/GitHub_Trending/ra/raylib cd raylib cmake -B build -DCMAKE_BUILD_TYPERelease # add -DOPENGL_VERSION2.1 to lower the floor cmake --build build -j4 sudo cmake --install build验证pkg-config --modversion raylib ls /usr/local/lib/libraylib*验收能打出版本号、/usr/local/lib下有libraylib.afind_package(raylib)随后可直接引用。模块裁剪用 cmake/CMakeOptions.txt 里的开关如USE_AUDIO需先开CUSTOMIZE_BUILDON。把库接进你自己的工程raylib CMake 配置与裸链接CMake 一行 find_packagecmake_minimum_required(VERSION 3.11) project(mygame C) find_package(raylib 6.0 REQUIRED) add_executable(mygame main.c) target_link_libraries(mygame raylib)构建目录里cmake .. make即可官方示例工程在 projects/CMake/。裸 Makefile 链接参数Linux 形态其他平台照抄上面各平台那一行CFLAGS -I/usr/local/include LDFLAGS -lraylib -lGL -lm -lpthread -ldl -lrt game: game.c $(CC) $(CFLAGS) $ -o $ $(LDFLAGS) 仓库 projects/ 下有 VS2022 / VS Code / Code::Blocks 现成模板宏定义和链接库都配好了拷出来替换 main.c 就能编译。接入后最容易踩的两颗雷macOS 缺-frameworkCocoa / OpenGL / IOKit链接报缺符号就往这查Linux 静态库链接顺序源文件在前-lraylib及其系统依赖在后顺序反了就报 undefinedraylib 编译报错排查按症状直达链接阶段报 undefined reference to InitWindow最可能的原因库没链接上或静态库依赖的系统库参数与顺序不全。pkg-config --libs raylib # check expected -l entries ldd ./game | grep -i ray # dynamic build: is it actually linked修复按「源文件 →-lraylib→ 系统库」的顺序重链例如gcc game.c -o game -lraylib -lGL -lm -lpthread -ldl -lrt。编译成功但窗口不弹出来最可能的原因显卡给不出 raylib 默认要求的 3.3 上下文InitWindow 起不来。glxinfo | grep OpenGL version # macOS: check in System Information修复低于 3.3 就降级重编cmake -B build -DOPENGL_VERSION2.1可选 4.3 / 3.3 / 2.1 / 1.1 / Software再重新链接。画面正常但没声音最可能的原因编译 raylib 时系统缺音频后端开发库音频代码没编进去。dpkg -l | grep -E libasound2-dev|libpulse-dev # Ubuntu/Debian修复sudo apt install libasound2-dev libpulse-dev后重新cmake --build build -j4 sudo cmake --install build。收尾自查头文件搜索路径已就位pkg-config --cflags raylib能给出 -I 位置驱动的 OpenGL 版本满足构建目标或已显式降级运行环境是真实显示会话非 SSH 空会话 / 无头远程桌面音频开发库在编译 raylib 之前就装好了版本怎么选 跑通后往哪走raylib OpenGL 版本对照版本线最低 OpenGL一句话特征6.x / 5.x / 4.x3.3完整 3D可出 Web / Android 构建3.x2.1基础 2D 3D 功能集大版本升级会带-WARNING-标记的 API 变更升级前翻一遍 CHANGELOG。examples/core/core_basic_window.c难度 ★1/4→ 窗口、清屏、文字与主循环的最小闭环examples/core/core_3d_camera_first_person.c难度 ★2/4→ 第一人称 3DWASD 移动加鼠标视角examples/models/models_textured_cube.c难度 ★2/4→ 纹理、材质与 3D 物体渲染环境搭完剩下的时间留给你自己的项目。【免费下载链接】raylibA simple and easy-to-use library to enjoy videogames programming项目地址: https://gitcode.com/GitHub_Trending/ra/raylib创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表