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

相关推荐
zhangrelay5 天前
《机器人控制器设计与编程》课程习题资料-2026
linux·笔记·学习·ubuntu
Linux-lucky5 天前
39-41-Linux学习之旅之redis缓存基础与NFS基础
linux·运维·mysql·ubuntu
QQ14220784496 天前
2012 年的老 ThinkPad E430 改装 Ubuntu 24.04全程翻车排查实录
ubuntu·项目复盘
阿钱真强道6 天前
06 嵌入式操作系统 | vim 与软件管理:apt / 源码编译
ubuntu·vim·嵌入式·apt·源码编译
牢姐与蒯6 天前
Linux进程间通信(三).基于匿名管道的进程池的实现
linux·运维·服务器·ubuntu
Linux-lucky6 天前
32-38-Linux学习之旅之MySQL综合
linux·运维·学习·mysql·ubuntu
士訫6 天前
【Linux 踩坑】HP Victus RTX4050 Ubuntu 系统双屏无法同时点亮解决方案(完美适配 Advanced Optimus 机型)
ubuntu
指尖的爷6 天前
ARM 架构 Ubuntu(RK3588/aarch64)go开发环境安装手册
ubuntu·架构·golang
虚无的纽扣6 天前
【Linux】将进程知识与基础IO融会贯通——简单自定义Shell的实现
linux·ubuntu
问简7 天前
Ubuntu 26 + Windows 10 双系统 NTFS 共享盘笔记
ubuntu