编译linux桌面版suyu模拟器并添加中文
背景:Suyu官方仓库提供的AppImage版本没有中文翻译,网上也搜不到任何给linux版添加中文的教程,所以就有了这篇文章。
0.安装依赖项
本文主要为记录,参考官方文档,编译的环境为debian
sudo apt-get install autoconf cmake g++-11 gcc-11 git glslang-tools libasound2 libboost-context-dev libglu1-mesa-dev libhidapi-dev libpulse-dev libtool libudev-dev libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-xinerama0 libxcb-xkb1 libxext-dev libxkbcommon-x11-0 mesa-common-dev nasm ninja-build qtbase5-dev qtbase5-dev-tools qtbase5-private-dev qtwebengine5-dev qtmultimedia5-dev libmbedtls-dev catch2 libfmt-dev liblz4-dev nlohmann-json3-dev libzstd-dev libssl-dev libavfilter-dev libavcodec-dev libswscale-dev
官方给的安装依赖命令少一个qtbase5-dev-tools,不加的话后续执行cmake命令会提示缺少模块(上面已加上)
1.克隆官方仓库及其所需的子模块
git clone --recursive https://git.suyu.dev/suyu/suyu
2.进入文件夹创建编译文件夹
cd suyu && mkdir build && cd build
官方给的命令cmake .. -GNinja -DSUYU_USE_BUNDLED_VCPKG=ON -DSUYU_TESTS=OFF编译出来的suyu没有中文,通过翻阅CMakeLists.txt找到了一句option(ENABLE_QT_TRANSLATION "Enable translations for the Qt frontend" OFF),原来是默认关闭的,所以可以直接修改文件中的OFF为ON也可以在cmake后面加上执行
cmake .. -GNinja -DSUYU_USE_BUNDLED_VCPKG=ON -DSUYU_TESTS=OFF -DENABLE_QT_TRANSLATION=ON
3.编译
ninja
这一步看设备,有可能花费的时间比较长,当输出下图内容时就可以安装了
4.安装
ninja install
5.其他
效果如下图
需要卸载可以回到build目录执行
ninja uninstall