Ubuntu上编译 - Fluorohydride/ygopro GitHub Wiki
YGOPro Ubuntu 编译指南
1. 准备工作
1.1 所需软件
-
YGOPro发行版
- 用以获取卡片数据库和卡图等资源,其中数据库是必备的
-
Git
-
build-essential
-
- 项目支持Premake和CMake两种构建系统,但CMake近期无人维护,推荐使用Premake
1.2 依赖库
通过apt安装以下系统依赖库:
sudo apt install libevent-dev libfreetype6-dev libgl1-mesa-dev libglu1-mesa-dev libxxf86vm-dev libsqlite3-dev libopusfile-dev libvorbis-dev
需要手动下载源代码并静态编译的依赖库:
-
- 这是Irrlicht的修改版,增加了中文支持等功能
- 不支持原版Irrlicht
-
- 仅支持5.3.x和5.4.x版本
- 需要使用C++编译而非默认的C编译,因此需要静态编译
-
- 因项目特点,无法通过APT等包管理器安装,需要静态编译
- 仅支持0.11.22版本,且需使用其中的
miniaudio_split
版本
2. 获取源代码
2.1 克隆代码仓库
使用Git克隆代码仓库,确保包含所有子模块:
# 完整克隆代码及子模块(推荐方式)
git clone --recursive https://github.com/Fluorohydride/ygopro.git
cd ygopro
# 或分步操作
git clone https://github.com/Fluorohydride/ygopro.git
cd ygopro
git submodule update --init
# 切换子模块到正确分支
cd ocgcore
git checkout master
cd ..
cd script
git checkout master
cd ..
2.2 安装依赖库
- 将下载的Irrlicht解压到项目根目录,并重命名为
irrlicht
- 将下载的Lua解压到项目根目录,并重命名为
lua
- 下载miniaudio,并将
miniaudio/extras/miniaudio_split
中的c和h文件复制到项目根目录中的miniaudio
文件夹(请手动创建)
2.3 复制描述文件
将premake文件夹内所有子文件夹复制到项目根目录,这些文件夹包含了编译各个依赖库所需的premake描述文件。
cp -r premake/* .
3. 生成项目并编译
3.1 生成项目文件
下载premake5可执行文件,给予执行权限并运行:
chmod +x premake5
./premake5 gmake
这将在build文件夹中生成Makefile。
3.2 目录结构
配置成功后,项目目录结构大致如下(部分文件省略):
├── build
├── gframe
├── irrlicht
│ ├── include
│ └── source
│ └── Irrlicht
├── lua
│ └── src
├── miniaudio
├── ocgcore
├── script
├── sound
└── textures
3.3 编译项目
在项目根目录运行:
cd build
make config=release # 或 make config=debug
编译完成后,生成的可执行文件位于 bin/release
或 bin/debug
目录下。
4. 运行与调试
4.1 基本运行
-
从YGOPro发行版中复制以下文件到项目根目录:
cards.cdb
pics
文件夹deck
文件夹
-
建立符号链接以便于运行:
ln -s bin/release/YGOPro ./ygopro # 或 ln -s bin/debug/YGOPro ./ygopro
-
运行
./ygopro
5. 常见问题
见 编译常见问题