一、安装mininim 软件所依赖的库(重点是allegro游戏引擎库)
1. 用apt-get remove命令清除干净之前可能安装过的各项allegro5依赖库(如果系统没有这些库,也不报错)
sudo apt-get remove liballegro5-dev liballegro-image5-dev liballegro-audio5-dev liballegro-acodec5-dev liballegro-dialog5-dev
2.用apt-get install 命令安装各种make、gcc等编译工具链软件(以防Ubuntu系统没有,如果已用有,则会自动下载更新到合适版本或最新版本),gnulib和lua50库等。
sudo apt-get install automake autoconf gcc make cmake gnulib libcanberra-gtk-module lua50 liblua50-dev liblualib50-dev libreadline-dev
3.用 apt-get build-dep 命令检测 allegro5游戏库的环境依赖是否完整,自动下载必要的依赖项,为编译 Allegro5 源码做好环境准备。注意这条命令并不下载 从仓库中下编译好的allegro5库!
sudo apt-get build-dep allegro5
如果前面都顺利完成,遇到的缺少xx包的提示,你都已经通过 apt-get install xx 的方式解决,那么就可以进行到下面最关键的步骤。
4. 从git源码仓库下载mininim 需要的allegro5.x 版本源码。
这个mininim游戏代码latest版本是2017年,作者使用的是当时的 allegro5.2.3 版本(当前2025年最新版本是5.2.10),作者为此特意fork保留了一份allegro5.2.3 版本代码。但是经过验证发现:这个allegro5.2.3 版本在ubuntu18.04存在自身编译错误,而最新版本allegro5.2.10与mininim也不匹配。只有allegro5.2.5版本能够与mininim适配。因此,这里不能按照mininim作者的readme指导下载( 不使用 git clone https://github.com/oitofelix/allegro5.git 这条命令)。
所以需要使用国内gitee平台上转存的官方的 allegro5.2.5版本。
cd /home/xxx, xxx是你的实际用户名。
pwd
#应该输出为:
/home/xxx
#如果不是检查目前所在目录是否正确
5.用 git命令克隆 我备份的的allegro5.2.5版本完整源码:
git clone https://gitee.com/flycloud2009_cloudlou/allegro5_v5.2.5.git
然后,先cd 进入游戏源代码主目录下, 再ls 显示一下目录中的文件, 你会看见文件中有一个 CMakeLists.txt 文件,但是没有 Makefile 文件。
CMakeLists.txt 是cmake工具的默认输入文件,cmake读取CMakeLists.txt内容,进行各项检查配置,如果没有中间出错提示,将会在cmake运行工作目录下成功生成一个 Makefile文件。 这个Makefile文件是下一步 make工具的默认输入文件
cd allegro5_v5.2.5
ls -l
在此目录下,创建 一个 build 子目录以及cd 进入 build子目录中
mkdir build && cd build
在这里,验证一下你当前所在的工作目录,作目录应该是:
/home/xxx/Documents/allegro5_v5.2.5/build
ls -l
ls 显示build目录下空空如也。没有任何目录和文件。
然后进入 Linux系统 代码编译流程的常规第一步: cmake 配置代码编译依赖环境。
先运行cmake, 注意后面 带的参数是两个 …, … 代表上一级目录,这条命令是然 cmake 读取上一级目录下的 CMakeLists.txt 文件。
cmake ..
耐心等待,并注意观察屏幕输出的信息。如果出现错误,cmake会停止工作,从第一条error错误信息进行分析,一般都是缺乏xx库,建议你 sudo apt install xx,你只需要按照提示进行即可。
如果问题都解决了, cmake 会运行完,一般会出现 configure done或类似信息。
此时,在当前目录build 下,你在 ls -l 一下,会看见出现许多目录和文件,其中就用 Makefile文件,文件日期是最新时间。
有了 Makefile文件,就可以进入Linux系统 代码编译流程的常规第二步: make 从源码生成二进制库或可执行文件。
make
make命名后面不带参数,则表示读取当前目录下的Makefile文件。
又需要耐心等待,并注意观察屏幕输出的信息。如果出现错误,make会停止工作,从第一条编译error错误信息进行分析。 如果错误出现在某一个代码文件中xx行某个变量或函数,检查前面步骤是否有遗漏,工作目录、操作命令是否正确。
如果make 成功完成 (没有出现错误信息),在build目录下就会生成lib和include等子目录,如下:
lyy@lyy-virtual-machine:~/allegro5-5.2.5.0/build$ ls -al
total 332
drwxrwxr-x 10 lyy lyy 4096 5月 15 18:02 .
drwxrwxr-x 16 lyy lyy 4096 5月 15 17:54 ..
drwxrwxr-x 15 lyy lyy 4096 5月 15 17:54 addons
-rw-rw-r-- 1 lyy lyy 58293 5月 15 17:54 CMakeCache.txt
drwxrwxr-x 6 lyy lyy 4096 5月 15 18:02 CMakeFiles
lib目录中主要是allegro5 的各种库,主要是动态库,已经成功创建。文件名一般是 liballegroxxx.so.5.2.5 ,如果你用ls 查看 lib目录下的文件
ls -al lib
会出现这样一些文件,
lrwxrwxrwx 1 lyy lyy 24 5月 15 17:55 liballegro_acodec.so -> liballegro_acodec.so.5.2
lrwxrwxrwx 1 lyy lyy 26 5月 15 17:55 liballegro_acodec.so.5.2 -> liballegro_acodec.so.5.2.5
-rwxrwxr-x 1 lyy lyy 221560 5月 15 17:55 liballegro_acodec.so.5.2.5
lrwxrwxrwx 1 lyy lyy 23 5月 15 17:55 liballegro_audio.so -> liballegro_audio.so.5.2
lrwxrwxrwx 1 lyy lyy 25 5月 15 17:55 liballegro_audio.so.5.2 -> liballegro_audio.so.5.2.5
-rwxrwxr-x 1 lyy lyy 435744 5月 15 17:55 liballegro_audio.so.5.2.5
lrwxrwxrwx 1 lyy lyy 23 5月 15 17:55 liballegro_color.so -> liballegro_color.so.5.2
lrwxrwxrwx 1 lyy lyy 25 5月 15 17:55 liballegro_color.so.5.2 -> liballegro_color.so.5.2.5
-rwxrwxr-x 1 lyy lyy 74840 5月 15 17:55 liballegro_color.so.5.2.5
重点注意是否生成 liballegro.so.5.2.5,liballegro_dialog.so.5.2.5,liballegro_image.so.5.2.5,liballegro_video.so.5.2.5,liballegro_primitives.so.5.2.5
文件。
这些库只是保存在build目录,需要将它们安装到 ubuntu系统的公共目录中 (一般是 /usr/local/lib等目录下)。
运行下面命令,make 会按照Makefile中 install对应的项目规则(主要是一些 cp 命名),把相关库文件复制到公共系统目录中。
sudo make install
安装游戏引擎allegro5 (准确是5.2.5 版本)就完成了。 为了稳妥起见,可以运行一下上面make编译 allegro5.2.5 库时,它顺带编译生成的一些demo游戏程序,看是否能正常运行。
做法如下,进入examples目录,选择一个程序运行:
cd examples
./ex_multiwin
如果程序出现窗口,表示代码正常运行,就可以退出了。
二、编译mininim 软件
接着上面的步骤继续。 下载mininim仓库源码,进行编译。 此时你的工作目标应该重新返回到home目录下
cd /home/xxx
然后下载mininim仓库源码。
git clone https://gitee.com/flycloud2009_cloudlou/mininim.git
下载成功后,进入游戏目录,进行环境准备(运行作者写的脚本文件 bootstrap),执行常规的环境依赖配置(运行作者写的configure)
./bootstrap
./configure LUA_LIB="-llua50 -llualib50"
如果上面都没有出错,目录下将生成 Makefile 文件。
正式编译 mininim 源代码:
make
耐心等待。如果没有出错,当前目录下 出现一个游戏程序文件 mininim,运行它
./mininim
此时你可以参看一下 mininim 具体依赖哪些动态支持库,运行
ldd ./mininim
显示信息类似这样
linux-vdso.so.1 (0x00007ffdb15c3000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007faa84fc6000)
libreadline.so.7 => /lib/x86_64-linux-gnu/libreadline.so.7 (0x00007faa84d7d000)
liballegro.so.5.2 => /usr/local/lib/liballegro.so.5.2 (0x00007faa84a7d000)
liballegro_image.so.5.2 => /usr/local/lib/liballegro_image.so.5.2 (0x00007faa8486f000)
liballegro_audio.so.5.2 => /usr/local/lib/liballegro_audio.so.5.2 (0x00007faa84653000)
liballegro_acodec.so.5.2 => /usr/local/lib/liballegro_acodec.so.5.2 (0x00007faa84447000)
liballegro_font.so.5.2 => /usr/local/lib/liballegro_font.so.5.2 (0x00007faa8423d000)
liballegro_primitives.so.5.2 => /usr/local/lib/liballegro_primitives.so.5.2 (0x00007faa84028000)
liballegro_dialog.so.5.2 => /usr/lib/x86_64-linux-gnu/liballegro_dialog.so.5.2 (0x00007faa83e1b000)
如果运行 mininim 不报错,那么就应该看到游戏第一关界面
三、将mininim打包给另一个Ubuntu系统使用
1.将mininim整个文件压缩成.zip文件,发送到Windows系统当作转站,又由Win系统发送到另一个Ubuntu系统,也可通过文件传输软件比如FileZilla Client更方便传输;
2.在2号Ubuntu中提取mininim.zip文件,在终端cd到运行程序mininim所在目录,运行命令
./mininim
发现打包的文件并没有顺利运行,因为环境配置不足的问题而无法加载模型,所以仍然需要按照上面的环境配置和游戏配置的步骤,让游戏得以运行。
四、安卓手机运行mininim
1.把Mininim文件打包发送到安卓手机上,运行命令解压该mininim.tar.xz文件:
xz -d mininim.tar.xz
tar -xvf mininim.tar
cd到mininim运行程序目录下,运行命令:
./mininim
出现如下问题
~/downloads/mininim-200927-gnu-linux64 $ ./mininim
./mininim: line 14:
/data/data/com.termux/files/home/downloads/mininim-200927-gnu-linux64/lib/mininim: cannot execute binary file: Exec format error
通过分析错误得到如下可能的原因:
- 文件与系统架构不兼容。
- 文件可能损坏。
- 文件没有可执行权限。
- 依赖库不完整。