Windows上编译 - Fluorohydride/ygopro GitHub Wiki
YGOPro Windows 编译指南
1. 准备工作
1.1 所需软件
-
YGOPro发行版
- 用以获取卡片数据库和卡图等资源,其中数据库是必备的
-
- 支持 Visual Studio 2015 及更高版本
- 安装时请勾选使用 C++ 的桌面开发组件
-
- 项目支持Premake和CMake两种构建系统,但Make近期无人维护,推荐使用Premake
1.2 依赖库
Windows平台下依赖库的安装目前缺乏完善的自动化方案,建议手动下载各库源代码并进行静态编译。
-
- 仅2.0.22版本经过充分测试,新版本可能兼容但未经验证
-
- 这是Irrlicht的修改版,增加了中文支持等功能
- 不支持原版Irrlicht
-
- 仅支持5.3.x和5.4.x版本
-
- 仅支持0.11.22版本,且需使用其中的
miniaudio_split
版本
- 仅支持0.11.22版本,且需使用其中的
-
- 仅支持amalgamation版本
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 安装依赖库
将下载的所有依赖库解压至项目根目录,并按照以下规则命名:
- libevent → 重命名为
event
- Freetype → 重命名为
freetype
- Irrlicht → 重命名为
irrlicht
- Lua → 重命名为
lua
- miniaudio → 重命名为
miniaudio
- 将
miniaudio/extras/miniaudio_split
中的c和h文件复制到miniaudio
文件夹替换原文件
- 将
- SQLite → 重命名为
sqlite3
(注意名称末尾有3)
2.3 复制描述文件
- 将premake文件夹内所有子文件夹复制到项目根目录
- 这些文件夹包含了编译各个依赖库所需的premake描述文件
- 将resource文件夹内所有子文件夹复制到项目根目录
3. 生成项目并编译
3.1 生成项目文件
安装premake5.exe并添加到PATH环境变量,或直接放到项目根目录,然后运行:
premake5 vs2022 --no-miniaudio-support-opus-vorbis
这将在build文件夹中生成Visual Studio解决方案文件(YGOPro.sln)。
3.2 目录结构
配置成功后,项目目录结构大致如下(部分文件省略):
├─build
├─event
│ └─include
├─freetype
│ ├─include
│ └─src
├─gframe
├─irrlicht
│ ├─include
│ └─source
│ └─Irrlicht
├─lua
│ └─src
├─miniaudio
├─ocgcore
├─script
├─sound
├─sqlite3
└─textures
3.3 编译项目
在Visual Studio中打开 YGOPro.sln
,选择 Release
或 Debug
模式,然后生成解决方案。
编译完成后,生成的可执行文件位于 bin/release
或 bin/debug
目录下。
4. 运行与调试
4.1 基本运行
-
从YGOPro发行版中复制以下文件到项目根目录:
cards.cdb
pics
文件夹deck
文件夹
-
将编译生成的
YGOPro.exe
复制到项目根目录 -
运行
YGOPro.exe
4.2 使用Visual Studio调试
在Visual Studio中可以设置工作目录为你的YGOPro目录,以便直接调试。
5. 高级功能
5.1 支持OGG格式音频
额外安装以下4个库:
将这些库分别放在 miniaudio/external
文件夹下,并重命名为 ogg
, opus
, opusfile
, vorbis
。
然后在运行 premake5
时去掉 --no-miniaudio-support-opus-vorbis
参数即可。
5.2 支持Windows XP
使用premake5生成项目文件时,添加 --winxp-support
参数即可。
注意:需使用Visual Studio 2019或更早版本,并安装v141的XP支持组件。目前Visual Studio 2022虽能安装v141的XP支持并编译,但运行时会报错,无法使用。
6. 常见问题
见 编译常见问题