Ubuntu下编译mininim游戏全攻略

06-01 1040阅读

目录

    • 一、安装mininim 软件所依赖的库(重点是allegro游戏引擎库)
    • 二、编译mininim 软件
    • 三、将mininim打包给另一个Ubuntu系统使用
    • 四、安卓手机运行mininim

      一、安装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 不报错,那么就应该看到游戏第一关界面

      Ubuntu下编译mininim游戏全攻略

      Ubuntu下编译mininim游戏全攻略

      三、将mininim打包给另一个Ubuntu系统使用

      1.将mininim整个文件压缩成.zip文件,发送到Windows系统当作转站,又由Win系统发送到另一个Ubuntu系统,也可通过文件传输软件比如FileZilla Client更方便传输;

      2.在2号Ubuntu中提取mininim.zip文件,在终端cd到运行程序mininim所在目录,运行命令

      ./mininim
      

      Ubuntu下编译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
      

      通过分析错误得到如下可能的原因:

      1. 文件与系统架构不兼容。
      2. 文件可能损坏。
      3. 文件没有可执行权限。
      4. 依赖库不完整。
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码