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 的图形显示【驱动】部分

相关推荐
David猪大卫18 小时前
【Linux修炼】环境变量、进程地址空间
linux·c语言·经验分享·笔记·学习·ubuntu·centos
且从容.1 天前
Ubuntu 安装 Docker
linux·ubuntu·docker
承渊政道2 天前
Linux网络学习【深入理解多路转接select、poll的代码改写】
linux·ubuntu·select·多路转接·poll
沫璃染墨3 天前
从零入门计算机网络系列(十二):HTTP长连接与会话管理详解——从Connection到Cookie与Session
linux·服务器·c++·tcp/ip·ubuntu·http·交互
longzhizhui9263 天前
Ubuntu 全版本 CVE-2026-98432 内核安全升级操作手册
ubuntu·网络安全·云计算·bash
OPEN-F3 天前
Ubuntu 自动登录后 GNOME 远程桌面连不上?一次登录钥匙环锁定的排查与永久修复
linux·运维·ubuntu
A7bert7773 天前
【MobileSAM部署至RK3588】环境适配→转换RKNN→开发板部署
c++·人工智能·深度学习·目标检测·ubuntu
用户4107192013254 天前
用 systemd 从零做一个系统健康巡检服务:脚本、沙箱与磁盘满排查实战
linux·ubuntu
Linux-lucky4 天前
46-Linux学习之旅之LVS负载均衡与keepalived高可用
linux·运维·学习·ubuntu·负载均衡·lvs
wzg20164 天前
ubuntu通过docker镜像部署安装onlyoffice
linux·ubuntu·docker