Skip to content

Commit

Permalink
feat: 增加构建文档&修正格式 (#4)
Browse files Browse the repository at this point in the history
* 添加了桌面端构建文档

* style: 一大坨 <br>, 不喜欢

---------

Co-authored-by: sjfhsjfh <[email protected]>
  • Loading branch information
NuanRMxi and sjfhsjfh authored May 11, 2024
1 parent 167bec4 commit e29b9c5
Show file tree
Hide file tree
Showing 11 changed files with 152 additions and 0 deletions.
5 changes: 5 additions & 0 deletions src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,11 @@

- [使用进阶](./uml/advanced/README.md)
- [页面切换](./uml/advanced/page_switch.md)

- [Phira 构建指南](./phira_build_guide/README.md)
- [cargo 安装教程](./phira_build_guide/cargo.md)
- [Windows](./phira_build_guide/Windows.md)
- [Linux](./phira_build_guide/Linux.md)

- [糗事集锦](./dev-incident/README.md)
- [长风的柳絮](./dev-incident/长风的柳絮.md)
Expand Down
41 changes: 41 additions & 0 deletions src/phira_build_guide/Linux.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Linux

## 准备阶段

1. 确保系统安装了 cargo,可以在终端使用 `cargo -V` 检查系统是否安装了 cargo,如果没有安装,请点击 [这里](./cargo.md)按步骤安装构建工具
2. 从 GitHub 下载源码到本地:
- 若您是纯终端,建议使用 git 工具,请使用 `git clone https://github.com/TeamFlos/phira.git` 将仓库克隆到本地。
- 若您使用了桌面环境,您也可以在 Phira 仓库页面点击 Code 按钮选择 `Download ZIP` 将代码下载到本地,随后将代码解压到本地任意目录。
- __如果您无法连接到 GitHub,您也可以使用 git 加速网站提供的加速地址克隆与下载。__
- __若您要构建指定版本的 Phira,请前往 release 页面在 Assets 中选择下载 `Source code(tar.gz)` 到本地,解压到任意路径即可。__
- __警告:为了防止玄学问题,我们不建议路径中包含除了 ASCII 编码包含字符以外的任何字符。__
3. 静态库文件,您可以 [直接下载](./prpr-avc.zip) 或者在 [缓存站](https://www.nuanr-mxi.com/prpr-avc.zip) 下载静态库文件,下载完成后直接解压到代码根目录下,如果提示覆盖文件,请点击覆盖。
4. 构建过程需要库文件补充,输入以下命令即可:

> sudo apt update
>
> sudo apt install libasound2-dev
>
> sudo apt install libgtk-3-dev
## 开始构建

1. 打开终端,切换到代码根目录
2. 输入 `cargo build -r --bin phira-main` ,直到编译完成。
3. 复制 `.\assets\` 目录中的所有文件到 `.\target\release\assets\` ,至此,构建流程全部完成,您可以在带有桌面环境的情况下直接运行 `phira-main` 检查资源文件是否完整,若您没有桌面环境,程序将会闪退(实测 WSL 无法兼容,如果在 WSL 下运行将会闪退),至此,构建流程结束。

- __注意:在此文档编写时,代码目录下的资源文件并不完整,如果您发现主程序闪退,您可以前往 release 页面下载任意版本,获取资源文件__

## 常见问题

Q. 构建输出 `failed to connect to GitHub`

A. 请检查网络环境。

Q. 构建时报错 `The pkg-config command could not be found`

A. 缺失 `pkg-config` 指令,使用 `sudo apt install pkg-config -y` 安装即可。

Q. 构建报错 `failed to run custom build command for alsa-sys v0.3.1`

A. 缺失库文件
4 changes: 4 additions & 0 deletions src/phira_build_guide/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# 构建指南
~~什么,移动设备?,我不会,长大后再学习~~<br>
Windows:[here](./Windows.md)<br>
Linux:[here](./Linux.md)<br>
61 changes: 61 additions & 0 deletions src/phira_build_guide/Windows.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Windows

## 准备阶段

1. 确保系统安装了 cargo,可以在命令提示符(cmd)或者 PowerShell 使用 `cargo -V` 检查系统是否安装了 cargo。如果提示以下信息:
- `'cargo' 不是内部或外部命令,也不是可运行的程序或批处理文件。`
- `cargo : 无法将“cargo”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。`
- 请点击 [这里](./cargo.md) 按步骤安装构建工具
2. 从 GitHub 下载源码到本地:
- 若您安装了 git 工具,请使用 `git clone https://github.com/TeamFlos/phira.git` 将仓库克隆到本地。
- 若您没有安装 git 工具,您也可以在 Phira 仓库页面点击 Code 按钮选择 `Download ZIP` 将代码下载到本地,随后将代码解压到本地任意目录。
- __如果您无法连接到 GitHub,您也可以使用 git 加速网站提供的加速地址克隆与下载。__
- __若您要构建指定版本的 Phira,请前往 release 页面在 Assets 中选择下载 `Source code(zip)` 到本地,解压到任意路径即可。__
- __警告:为了防止玄学问题,我们不建议路径中包含除了 ASCII 编码包含字符以外的任何字符。__
3. perl,您可以在命令提示符(cmd)或者 PowerShell 使用 `perl -v` 检查系统是否安装了 perl,如果没有,请搜索并打开 `MSYS2 UCRT64` 输入 `pacman -S perl` 安装 perl
4. 静态库文件,您可以 [直接下载](./prpr-avc.zip) 或者在 [缓存站](https://www.nuanr-mxi.com/prpr-avc.zip) 下载静态库文件,下载完成后直接解压到代码根目录下,如果提示覆盖文件,请点击覆盖。

## 开始构建

1. 在命令提示符(cmd)或者 PowerShell 切换到代码根目录(如 `D:\phira\`
2. 在命令提示符(cmd)或者 PowerShell 使用 `cargo build -r --bin phira-main` ,如果不出意外,在 `openssl-sys(build)` 时,您将卡很久很久,请不要退出,这是正常的。
3. 构建完成后,在 `.\target\release\` 目录下您可以找到编译完成的主程序
4. 复制 `.\assets\` 目录中的所有文件到 `.\target\release\assets\` ,至此,构建流程全部完成,您可以直接运行 `phira-main.exe` 检查资源文件是否完整。

- __注意:在此文档编写时,代码目录下的资源文件并不完整,如果您发现主程序闪退,您可以前往 release 页面下载任意版本,获取资源文件__

## 常见问题

Q. 报错 `failed to send request: 操作超时`

A. 请检查网络环境,确保您可以正常访问 GitHub

Q. 报错 `failed to send request: 无法解析服务器的名称或地址`

A. 检查 DNS 或更换 DNS,更换后请刷新 DNS 缓存

Q. 构建过程中报错 `error: failed to run custom build command for openssl-sys v0.9.99`

A. 缺失 perl,请检查是否正确安装 perl 后再试

Q. 构建报错`error occurred: Failed to find tool. Is gcc.exe installed? (see https://github.com/rust-lang/cc-rs#compile-time-requirements for help)`

A. 请检查是否安装了 `MSYS2` 以及检查是否配置了环境变量

Q. 出现以下报错:

> Error building OpenSSL dependencies:
>
> Command: "make" "depend"
>
> Failed to execute: program not found
A. 缺失 `make` 指令,请前往 MSYS2 终端中使用 `pacman -S make` 安装此命令。

Q. 报错包含 `This perl inplementation doesn't produce lnix like paths`

A. 使用的 perl 不适用于 gcc,请删除原有 perl 的环境变量或者直接卸载原有的 perl。

Q. 太麻烦了

A. 这样,直接去 release 页面下吧~~微软我真谢谢你~~
41 changes: 41 additions & 0 deletions src/phira_build_guide/cargo.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Cargo 安装

## Windows

1. 点击 [这里](https://win.rustup.rs/) 下载构建工具安装程序。
2. 双击打开 `rustup-init.exe` 后出现安装窗口;输入`2` 然后输入 `y` 然后再次输入 `2` ,然后输入 `x86_64-pc-windows-gnu` ,最后一路回车开始安装,直到输出 `Rust is installed now. Great!`
- __注意:千万不要直接回车安装 MSVC,这在后续构建将会出现大量问题!__

3. 前往 [MSYS2](https://www.msys2.org/) 官网下载 MSYS2 安装程序,下载完成后双击打开,如无特殊需求,一路下一步即可,直到提示 `Finished the MSYS2 Setup`,点击右下角的按钮后将弹出一个窗口,输入以下指令,安装过程一路回车即可。
>pacman -Sy && pacman -Syu
>
>pacman -S mingw-w64-x86_64-toolchain
- 如果您无法连接到 github,您也可以去 [缓存站](https://www.nuanr-mxi.com/msys.exe) 下载 MSYS2, __注意,缓存站只能保证您可以下载,不能高速下载,也不一定是最新版。__
4. 打开命令提示符(cmd)或 PowerShell,输入 `cargo -V` 检查是否成功安装,若返回版本号则安装成功,若出现其他提示,请见 Windows 常见问题。
5. 按下图所示,修改环境变量
![sys_path_I](./sys_path_I.png) ![sys_path_II](./sys_path_II.png) ![sys_path_III](./sys_path_III.png) ![sys_path_IV](./sys_path_IV.png) ![sys_path_V](./sys_path_V.png)
6. 打开命令提示符(cmd)或 PowerShell,输入 `gcc -v` 检查是否成功安装,若返回版本号则安装成功,若出现其他提示,请见 Windows 常见问题。

### Windows 常见问题

Q. 双击运行下载成功后的构建工具闪退

A. 请不要更改文件名

## Linux

### Debian 分支 Linux 系统

1. 打开终端,输入以下命令:
>sudo aot update
>
>sudo apt install cargo -y
2. 若无报错,输入 `cargo -V` 检查是否输出版本号,若出现其他输出,请见 Linux 常见问题

其他系统待补充

### Linux 常见问题

Q. 输入 `cargo` 时输出 `bash: /usr/bin/cargo: No such file or directory``cargo: command not found`

A. 未成功安装 cargo,请检查安装完成后是否输出了其他信息。
Binary file added src/phira_build_guide/prpr-avc.zip
Binary file not shown.
Binary file added src/phira_build_guide/sys_path_I.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/phira_build_guide/sys_path_II.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/phira_build_guide/sys_path_III.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/phira_build_guide/sys_path_IV.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/phira_build_guide/sys_path_V.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit e29b9c5

Please sign in to comment.