ubuntu 使用 cmake 方式源码编译 SDL2

说明

想在 ubuntu 下源码方式编译 SDL2,生成 SDL2 的 lib 库,静态库与动态共享库,release 版本

  • 编译环境: ubuntu 20.04
  • SDL 版本:当前 SDL github 最新版本,SDL2 分支

获取 SDL2 源码

  • SDL 的官方网站 https://www.libsdl.org/

  • 通过 SDL 的官方网站,了解到获取 SDL 的源码,可以通过 github

git clone https://github.com/libsdl-org/SDL.git

  • 由于当前 SDL 的主线(master 分支)为 SDL3,因此可以切换 git 分支到 SDL2

git checkout SDL2

cmake 编译

  • 切换 SDL git 仓库到 SDL2 分支后,创建一个编译目录,用于存放编译文件,比如在 SDL 目录下,创建一个 sdl2_build 目录
bash 复制代码
cd SDL
mkdir sdl2_build
cd sdl2_build

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/install ..
make -j8
make install
  • -DCMAKE_BUILD_TYPE=Release 表示编译 Release 版本的 SDL2 lib 库,否则 Debug 版本的 SDL2 库会很大。

  • -DCMAKE_INSTALL_PREFIX=$PWD/install 表示 lib 的安装路径,为当前路径下的 install 目录,设置安装目录,可以获取【干净】的 lib 产物目录,而不是默认直接安装到系统的目录下。

  • .. 表示上一级是 SDL 源码的目录,因为当前执行 cmake 的目录是 SDL/sdl2_build

查看 SDL2 编译产物

  • 执行 make install 后, SDL2 编译的产物(lib 库、头文件等),放在了制定的安装目录下

  • SDL2 lib 库编译完成

小结

  • 在 ubuntu 下编译 SDL2 库还是挺方便的,当然可以直接使用 sudo apt install libsdl2-dev 的方式安装 SDL2 库。

  • SDL2 库可以用于 ubuntu 下 LVGL 的图形显示【驱动】部分

相关推荐
荒--1 天前
Ubuntu软件包查询,弹框下载文件
运维·服务器·ubuntu
闲云自留地1 天前
CentOS 搬 Ubuntu 24.04:yum 变 apt、防火墙、SELinux、root 全差异避坑
linux·ubuntu·centos
xiaobobo33301 天前
Ubuntu 26.04环境中如何使用中文man手册以及man手册默认中文显示
ubuntu·中文man手册·man手册默认中文显示·简化man·cheat
菜菜的院子1 天前
WSL2 运行 Ubuntu 26.04 完整 GNOME 桌面(WSLg Wayland)
linux·运维·ubuntu·wsl
KIDULT°1 天前
Kubeadm 部署 Kubernetes v1.30.2 实战:Ubuntu24.04 三节点集群 + 排坑记录
ubuntu·云原生·容器·kubernetes·k8s
xiaobobo33301 天前
man手册的格式、共性、命令
ubuntu·man手册结构·man手册共性·man手册命令
Happy_Sharing1 天前
Windows虚拟机安装ubuntu后,如何在虚拟机Ubuntu系统中访问Windows文件夹
linux·运维·ubuntu
闲云自留地1 天前
从零造一台 Ubuntu 24.04:虚拟机、装系统、配 IP 到 root 远程登录一篇通
数据库·tcp/ip·ubuntu
xiaobobo33301 天前
Ubuntu 26.04环境下使用vim软件编辑文档的一些不常用用法
ubuntu·vim常用用法
我先去打把游戏先2 天前
NimBLE是什么-ESP32蓝牙协议栈详解
单片机·嵌入式硬件·ubuntu