太阳神三国杀是一个基于qt5.3开发的三国杀卡牌游戏,几乎算是官网的复刻版,通吃windows、mac和linux三大平台。然而,从官网上直接下载linux版后并不能直接运行……那么就让我们自己编译一个能玩的版本吧。

下载源码

首先我们要去太阳神三国杀的Github上下载源代码。这次我选择了太阳神三国杀的国战版本,Github地址在这里

克隆代码到本地:

1
git clone https://github.com/Mogara/QSanguosha-For-Hegemony.git

配置编译环境

安装gcc

1
sudo pacman -S gcc

安装swig

1
sudo pacman -S swig

安装qt,从QT的官网下载qt5.3.2版本,这是作者推荐的版本。下载后以root权限安装:

1
./qt-opensource-linux-x64-5.3.2.run

开始编译

1
2
3
4
5
6
进入下载的源码目录
cd swig
swig -c++ -lua sanguosha.i
cd ../lib/linux(x64) 32位自觉替换成x86
cd x64
sudo cp libfmodex*.so /usr/lib

然后打开Qt creator(安装qt之后就有了),打开QSanguosha.pro文件,编译即可。

由于Qt版本迭代问题,可能会蹦出一堆的警告,无视之。在linux下编译有两个error,其一是文件名英文大小写,有两个文件的大小写出错了,需要按提示修好;其二是从bool转换到Qstring时报错,这个把代码里的false改成0就行了。

编译好后将编译出来的QSanguosha文件放到源码根目录,执行./QSanguosha就可以进入游戏了