ubuntu中下载、构建、使用raylib

目录

  • 先决条件 [1]
  • 下载raylib
    • 方式一
    • 方式二
  • 构建 [1]
  • 使用
    • 终端中使用
    • Clion中使用

先决条件 [1]

ubuntu系统上需要先安装GCC, make(或者cmake)和git (下载raylib)
执行下面的命令可以安装GCC,make,cmake,git

sudo apt install build-essential git #build-essential是一套工具集,包括GCC和make
sudo apt install cmake

一些额外的工具,可以不用管这些是什么,直接复制脚本执行安装

sudo apt install libasound2-dev libx11-dev libxrandr-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev libxcursor-dev libxinerama-dev

下载raylib

方式一

通过git下载

git clone https://github.com/raysan5/raylib.git raylib #将克隆的raylib源文件放到raylib目录下

方式二

如果你的系统是桌面版的,可以访问网址 raylib github源码,按下图点击code,选择Download ZIP下载源码。用解压工具将zip文件解压,解压后的文件重命名为raylib。这种方式和第一种没有本质区别,一个是在终端上操作,另一个是图形界面下操作。
ubuntu中下载、构建、使用raylib_第1张图片

构建 [1]

这里介绍的是使用cmake构建raylib。

cd raylib #进入存放源文件的raylib目录
mkdir build && cd build #创建build目录并进入该目录
cmake -DBUILD_SHARED_LIBS=ON .. #构建项目,选项BUILD_SHARED_LIBS=ON表示构建共享库, ..表示上一级目录
make	
sudo make install #将项目安装到ubuntu系统中,一般.h文件被放到/usr/local/include目录下,.so文件被放到/usr/local/lib目录下。

使用

终端中使用

新建一个.c源文件,这里以main.c为例,main.c的文件内容如下[2]

#include "raylib.h" //包含raylib库的头文件

int main(void)
{
    InitWindow(800, 450, "raylib [core] example - basic window");//调用raylib库的InitWindow函数

    while (!WindowShouldClose())//调用raylib库的WindowShouldClose函数
    {
        BeginDrawing();//调用raylib库的BeginDrawing函数
            ClearBackground(RAYWHITE);//调用raylib库的ClearBackground函数
            DrawText("Congrats! You created your first window!", 190, 200, 20, LIGHTGRAY);//调用raylib库的DrawText函数
        EndDrawing();//调用raylib库的EndDrawing函数
    }

    CloseWindow();//调用raylib库的CloseWindow函数

    return 0;
}

在终端中调用下面的命令产生main可执行文件

gcc main.c -L/usr/local/lib -lraylib -o main
#-L选项指定链接路径(link path), -l选项指定链接文件名, gcc会在文件名加上前缀lib、后缀.so, 所以文件名最终为libraylib.so。

执行可执行文件main获得程序运行结果

./main

下面是main.c执行后生成的图形界面,其标题为InitWindow函数第三个参数的值,内容为DrawText函数第一个参数的值
ubuntu中下载、构建、使用raylib_第2张图片

Clion中使用

在clion中可以使用cmake配置raylib所在库的位置。在与main.c同级目录的CMakeLists.txt文件中加入以下代码[3]

cmake_minimum_required(VERSION 3.24)

set(CMAKE_C_STANDARD 11)

project(main C)

#前面的内容可以不用关注,从这里开始
set(INCLUDE_DIR /usr/local/include) #定义INCLUDE_DIR变量,该变量保存include路径

set(LIBRARY_DIR /usr/local/lib)	#定义LIBRARY_DIR 变量,该变量保存lib路径

include_directories(${INCLUDE_DIR})	#加载include路径

link_directories(${LIBRARY_DIR})	#加载lib路径

add_executable(main main.c) 	#编译main.c

target_link_libraries (main libraylib.so ) #链接libraylib.so到编译后的main中

编译运行得到同样的结果。

下面是参考文章
[1]https://github.com/raysan5/raylib/wiki/Working-on-GNU-Linux
[2]https://github.com/raysan5/raylib/tree/master#basic-example
[3]https://blog.csdn.net/why2214/article/details/127264619

你可能感兴趣的:(ubuntu,linux,运维)