如何从 GitHub 存储库安装 snes9x?

如何从 GitHub 存储库安装 snes9x?

如何从 GitHub 存储库在 Ubuntu 上安装 snes9x? https://github.com/snes9xgit/snes9x

没有apt-get install我能执行的命令。该程序似乎有两个可能的 Linux 兼容版本(GTK 或 X11)

我们是否必须克隆存储库并从源代码进行编译?是否*.deb已经有文件了?

答案1

二进制文件

有几种方法可以获取二进制形式的 snes9x:

  • 得到Snes9x 的 FlatPak 版本最简单的方法):

    1. 安装 Flatpak

      sudo apt install flatpak
      flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
      
    2. 安装 Snes9x FlatPak

      flatpak install flathub com.snes9x.Snes9x
      
  • 从以下网站获取 snes9x下载页面通过访问链接到snes9x_1.60-1_amd64.deb

  • 下载 snes9x 最新二进制文件卷云-CI

    sudo apt install libportaudio2 libminizip1
    cd ~/Downloads
    wget https://api.cirrus-ci.com/v1/artifact/task/6382769047601152/build/snes9x-gtk-432fc08498b33190a41ae659c3c5fccbeb5b8b3e.txz
    tar -xf snes9x-gtk-432fc08498b33190a41ae659c3c5fccbeb5b8b3e.txz
    cd snes9x
    ./snes9x-gtk
    
  • 从以下位置获取带有 snes9x 插件的 RetroArch官方存储库经过

    sudo add-apt-repository multiverse
    sudo apt-get install retroarch libretro-snes9x
    

    或来自libretro PPA

    sudo add-apt-repository ppa:libretro/testing
    sudo apt-get install retroarch libretro-snes9x
    

从源头

如果你确实知道从源代码安装的原因,你可以按照下面的方法(基于构建 AUR 软件包snes9x 编译 wiki 页面):

sudo apt-get install build-essential git meson cmake \
libgtk2.0-dev libgtk-3-dev libsdl2-dev glslang-dev portaudio19-dev libminizip-dev

cd ~/Downloads/
git clone https://github.com/snes9xgit/snes9x.git
cd snes9x/
git submodule update --init shaders/SPIRV-Cross
cd gtk
meson build --prefix=/usr/local --buildtype=release --strip
cd build
ninja
sudo ninja install

答案2

尽管 N0rbert 的回答非常有帮助,但我还是遇到了一些麻烦,我列出了正确的步骤(ubuntu 18.04),在从源代码克隆之后:

git submodule update --init
sudo apt-get install libsdl2-dev libgtkmm-3.0-dev libasound-dev minizip
pip3 install meson
echo "export PATH=\"`python3 -m site --user-base`/bin:$PATH\"" >> ~/.bashrc
source ~/.bashrc
cd gtk && meson build --prefix=/usr/local --buildtype=release --strip
cd build
ninja
sudo ninja install

两个原因:

  • 通过sudo-apt get安装的meson版本太低
  • 其他要更新的子模块 --init

相关内容