Skip to content

Commit 8e9c6d5

Browse files
9RayAlkalinYuevUwU
andauthored
add ffmpeg static lib for Intel Mac & development docs for macOS (#39)
* add ffmpeg static lib for Intel Mac * feat: macOS development docs & fix: 位于build guide readme的神秘幽灵地址 * 干掉了一点问题 * 一点点语意问题 * Update README.md * Update src/phira_build_guide/README.md Co-authored-by: YuevUwU <96368079+YuevUwU@users.noreply.github.com> * Update src/phira_build_guide/macOS.md * 移除:缓存站下载链接 * 简单捉个虫 * MSVC好像没那么简单,遂删 * Update src/phira_build_guide/Windows.md Co-authored-by: YuevUwU <96368079+YuevUwU@users.noreply.github.com> * Update src/phira_build_guide/macOS.md Co-authored-by: YuevUwU <96368079+YuevUwU@users.noreply.github.com> * Update src/phira_build_guide/macOS.md Co-authored-by: YuevUwU <96368079+YuevUwU@users.noreply.github.com> * 修改phira_build-guide/README.md的顺序问题 因为apply @YuevUwU的修改建议时出错所以另开一个commit * Apply suggestions from code review Co-authored-by: YuevUwU <96368079+YuevUwU@users.noreply.github.com> * Update Android.md --------- Co-authored-by: YuevUwU <96368079+YuevUwU@users.noreply.github.com>
1 parent c6ee285 commit 8e9c6d5

8 files changed

Lines changed: 70 additions & 18 deletions

File tree

src/SUMMARY.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@
8888
- [cargo 安装教程](./phira_build_guide/cargo.md)
8989
- [Windows](./phira_build_guide/Windows.md)
9090
- [Linux](./phira_build_guide/Linux.md)
91+
- [macOS](./phira_build_guide/macOS.md)
9192
- [Android](./phira_build_guide/Android.md)
9293

9394
- [糗事集锦](./dev-incident/README.md)

src/phira_build_guide/Android.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
> <span style="color:red;">注意:此构建方案的产物**不包含成绩上传**的部分(与Windows端类似)</span>
55
66
1. 方便起见,这里使用**Github Action**构建Android端Phira,本地构建待补充。~~才不是因为几次都失败了惹~~
7-
2. **Fork**官方Phira仓库,创建 `.github/workflows/`目录并在该目录下创建一个.yml文件,名称任意。
7+
2. [**Fork**](https://github.com/TeamFlos/phira/fork)官方Phira仓库,创建 `.github/workflows/`目录并在该目录下创建一个.yml文件,名称任意。
88
3. 在该.yml文件写入以下内容并commit,进入Action页面的Build Android Phira工作流,**请求一个workflow**(可选择构建分支),等待约5分钟,工作流即可运行完毕。**下载Artifact解压**备用。
99
> 如果需要armeabi-v7a架构构建,请将"arm64-v8a","aarch64-linux-android"分别全部**替换**为"armeabi-v7a","armv7-linux-androideabi"(未测试)
1010
```yaml
@@ -86,8 +86,7 @@ jobs:
8686
8787
1. 将libphira.so文件**推送到Android设备上**你熟悉的位置。
8888
89-
2. 从Phira官方仓库的Release下载libphira.so对应架构的apk,用MT管理器查看。
90-
89+
2. 从Phira官方仓库的[Release](https://github.com/TeamFlos/phira/releases)下载libphira.so对应架构的apk,用[MT管理器](https://mt2.cn/)查看。
9190
3. 将构建出来的libphira.so**替换掉**lib/arm64-v8a(或armeabi-v7a)/**libphira.so**。
9291
9392
4. 用Dex编辑器++打开classes.dex,进入org,flos.phira,查看**QuadSurface**类。

src/phira_build_guide/Linux.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
- 若您是纯终端,建议使用 git 工具,请使用 `git clone https://github.com/TeamFlos/phira.git` 将仓库克隆到本地。
88
- 若您使用了桌面环境,您也可以在 Phira 仓库页面点击 Code 按钮选择 `Download ZIP` 将代码下载到本地,随后将代码解压到本地任意目录。
99
- __如果您无法连接到 GitHub,您也可以使用 git 加速网站提供的加速地址克隆与下载。__
10-
- __若您要构建指定版本的 Phira,请前往 release 页面在 Assets 中选择下载 `Source code(tar.gz)` 到本地,解压到任意路径即可。__
10+
- __若您要构建指定版本的 Phira,请前往 [release](https://github.com/TeamFlos/phira/releases) 页面在 Assets 中选择下载 `Source code (tar.gz)` 到本地,解压到任意路径即可。__
1111
- __警告:为了防止玄学问题,我们不建议路径中包含除了 ASCII 编码包含字符以外的任何字符。__
12-
3. 静态库文件,您可以 [直接下载](./prpr-avc.zip) 或者在 [缓存站](https://www.nuanr-mxi.com/prpr-avc.zip) 下载静态库文件,下载完成后直接解压到代码根目录下,如果提示覆盖文件,请点击覆盖。
12+
3. 静态库文件,您可以 [直接下载](./prpr-avc.zip) 静态库文件,下载完成后直接解压到代码根目录下,如果提示覆盖文件,请点击覆盖。
1313
4. 构建过程需要库文件补充,输入以下命令即可:
1414

1515
> sudo apt update
@@ -24,7 +24,7 @@
2424
2. 输入 `cargo build -r --bin phira-main` ,直到编译完成。
2525
3. 复制 `.\assets\` 目录中的所有文件到 `.\target\release\assets\` ,至此,构建流程全部完成,您可以在带有桌面环境的情况下直接运行 `phira-main` 检查资源文件是否完整,若您没有桌面环境,程序将会闪退(实测 WSL 无法兼容,如果在 WSL 下运行将会闪退),至此,构建流程结束。
2626

27-
- __注意:在此文档编写时,代码目录下的资源文件并不完整,如果您发现主程序闪退,您可以前往 release 页面下载任意版本,获取资源文件__
27+
- __注意:在此文档编写时,代码目录下的资源文件并不完整,如果您发现主程序闪退,您可以前往 [release](https://github.com/TeamFlos/phira/releases) 页面下载任意版本,获取缺失的资源文件__
2828

2929
## 常见问题
3030

src/phira_build_guide/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# 构建指南
2-
针对安卓手机的Linux便携式开发环境构建:[here](./android_to_linux.md)<br>
32
Windows:[here](./Windows.md)<br>
43
Linux:[here](./Linux.md)<br>
5-
~~什么,你说apk?没有Java和kotlin我怎么写啊QAQ~~<br>
4+
macOS:[here](./macOS.md)<br>
5+
Android:[here](./Android.md)<br>

src/phira_build_guide/Windows.md

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
- __若您要构建指定版本的 Phira,请前往 release 页面在 Assets 中选择下载 `Source code(zip)` 到本地,解压到任意路径即可。__
1414
- __警告:为了防止玄学问题,我们不建议路径中包含除了 ASCII 编码包含字符以外的任何字符。__
1515
3. perl,您可以在命令提示符(cmd)或者 PowerShell 使用 `perl -v` 检查系统是否安装了 perl,如果没有,请搜索并打开 `MSYS2 UCRT64` 输入 `pacman -S perl` 安装 perl
16-
4. 静态库文件,您可以 [直接下载](./prpr-avc.zip) 或者在 [缓存站](https://www.nuanr-mxi.com/prpr-avc.zip) 下载静态库文件,下载完成后直接解压到代码根目录下,如果提示覆盖文件,请点击覆盖。
16+
4. 静态库文件,您可以 [直接下载](./prpr-avc.zip) 静态库文件,下载完成后直接解压到代码根目录下,如果提示覆盖文件,请点击覆盖。
1717

1818
## 开始构建
1919

@@ -22,7 +22,7 @@
2222
3. 构建完成后,在 `.\target\release\` 目录下您可以找到编译完成的主程序
2323
4. 复制 `.\assets\` 目录中的所有文件到 `.\target\release\assets\` ,至此,构建流程全部完成,您可以直接运行 `phira-main.exe` 检查资源文件是否完整。
2424

25-
- __注意:在此文档编写时,代码目录下的资源文件并不完整,如果您发现主程序闪退,您可以前往 release 页面下载任意版本,获取资源文件__
25+
- __注意:在此文档编写时,代码目录下的资源文件并不完整,如果您发现主程序闪退,您可以前往 [release](https://github.com/TeamFlos/phira/releases) 页面下载任意版本,获取缺失的资源文件__
2626

2727
## 32位版本
2828

@@ -32,13 +32,16 @@
3232
4. 构建完成后,在 `.\target\release\` 目录下您可以找到编译完成的主程序
3333
5. 复制 `.\assets\` 目录中的所有文件到 `.\target\release\assets\` ,至此,构建流程全部完成,您可以直接运行 `phira-main.exe` 检查资源文件是否完整。
3434

35+
- __注意:在此文档编写时,代码目录下的资源文件并不完整,如果您发现主程序闪退,您可以前往 [release](https://github.com/TeamFlos/phira/releases) 页面下载任意版本,获取缺失的资源文件__
36+
3537
## 有关静态库的构建(以i686-pc-windows-gnu为例)
3638

37-
在sh上操作(此处使用msys2)
39+
下载 [FFmpeg n5.1.8 源代码(GitHub))](https://github.com/FFmpeg/FFmpeg/archive/refs/tags/n5.1.8.tar.gz) 并解压到任意目录
40+
41+
在sh上操作(此处使用msys2,注意要将ffmpeg源码复制到 `C:\msys64\home\您的用户名`
3842

3943
```sh
40-
git clone https://git.ffmpeg.org/ffmpeg.git --depth=1
41-
cd ffmpeg && mkdir build && cd build
44+
cd FFmpeg-n5.1.8 && mkdir build && cd build
4245
../configure --disable-programs --disable-doc --disable-everything --disable-debug --arch=i686 --target_os=mingw32 --cross-prefix=i686-w64-mingw32-
4346
make
4447
```
@@ -47,6 +50,8 @@ note:这里有个坑。。。如果报错的话尝试把 msys64\mingw32\bin 这
4750

4851
接着把build文件夹下的所有形如 `*.a` 的文件复制到 `phira\prpr-avc\static-lib\i686-pc-windows-gnu` 就可以啦
4952

53+
- __注意:以上操作仅能保证 cargo 正常编译并输出主程序,如需用于视频解码请自行在 configure 启用 protocol=file,decoders,parsers 等选项__
54+
5055
## 常见问题
5156

5257
Q. 报错 `failed to send request: 操作超时`
@@ -85,4 +90,4 @@ A. 使用的 `libiconv` 有问题,请在 MSYS2 终端中使用 `pacman -S libi
8590

8691
Q. 太麻烦了
8792

88-
A. 这样,直接去 release 页面下吧~~微软我真谢谢你~~
93+
A. 这样,直接去 [release](https://github.com/TeamFlos/phira/releases/latest) 页面下吧~~微软我真谢谢你~~

src/phira_build_guide/cargo.md

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44

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

99
3. 前往 [MSYS2](https://www.msys2.org/) 官网下载 MSYS2 安装程序,下载完成后双击打开,如无特殊需求,一路下一步即可,直到提示 `Finished the MSYS2 Setup`,点击右下角的按钮后将弹出一个窗口,输入以下指令,安装过程一路回车即可。
1010
>pacman -Sy && pacman -Syu
1111
>
1212
>pacman -S mingw-w64-x86_64-toolchain
13-
- 如果您无法连接到 github,您也可以去 [缓存站](https://www.nuanr-mxi.com/msys.exe) 下载 MSYS2, __注意,缓存站只能保证您可以下载,不能高速下载,也不一定是最新版。__
13+
1414
4. 打开命令提示符(cmd)或 PowerShell,输入 `cargo -V` 检查是否成功安装,若返回版本号则安装成功,若出现其他提示,请见 Windows 常见问题。
1515
5. 按下图所示,修改环境变量
1616
![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)
@@ -32,10 +32,29 @@ A. 请不要更改文件名
3232
>sudo apt install cargo -y
3333
2. 若无报错,输入 `cargo -V` 检查是否输出版本号,若出现其他输出,请见 Linux 常见问题
3434

35-
其他系统待补充
36-
3735
### Linux 常见问题
3836

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

4139
A. 未成功安装 cargo,请检查安装完成后是否输出了其他信息。
40+
41+
## macOS
42+
43+
1. 打开终端,输入以下命令
44+
>curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
45+
2. 出现选项后输入1,一路回车直到输出 `Rust is installed now. Great!`
46+
3. 打开终端,输入 `cargo -V` 检查是否成功安装,若返回版本号则安装成功,若出现其他提示,请见 macOS 常见问题。
47+
4. 前往 [Xcode Downloads](https://developer.apple.com/download/all/?q=Xcode) 下载 Xcode,下载完成后双击解压放入盘符根目录 `/Application`,接着前往 [Command Line Tools Downloads](https://developer.apple.com/download/all/?q=Command%20Line%20Tools) 下载命令行工具,下载完成后双击打开,一路下一步直到安装完成即可。
48+
49+
其他系统待补充
50+
51+
### macOS 常见问题
52+
53+
Q. 安装 Cargo 时超时
54+
55+
A. 请检查网络环境
56+
57+
Q. 输入 `cargo` 时输出 `zsh: command not found: cargo`
58+
59+
A. 未成功安装 cargo,请检查安装完成后是否输出了其他信息。
60+

src/phira_build_guide/macOS.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# macOS
2+
3+
## 准备阶段
4+
5+
1. 确保系统安装了 cargo 和 Xcode,可以在终端使用 `cargo -V` 检查系统是否安装了 cargo,如果没有安装,请点击 [这里](./cargo.md) 按步骤安装构建工具
6+
2. 从 GitHub 下载源码到本地:
7+
- 使用 git 工具,在终端输入 `git clone https://github.com/TeamFlos/phira.git` 将仓库克隆到本地。
8+
- 您也可以在 Phira 仓库页面点击 Code 按钮选择 `Download ZIP` 将代码下载到本地,随后将代码解压到本地任意目录。
9+
- __如果您无法连接到 GitHub,您也可以使用 git 加速网站提供的加速地址克隆与下载。__
10+
- __若您要构建指定版本的 Phira,请前往 [release](https://github.com/TeamFlos/phira/releases) 页面在 Assets 中选择下载 `Source code (tar.gz)` 到本地,解压到任意路径即可。__
11+
- __警告:为了防止玄学问题,我们不建议路径中包含除了 ASCII 编码包含字符以外的任何字符。__
12+
3. 静态库文件,您可以 [直接下载](./prpr-avc.zip) 静态库文件,下载完成后直接解压到代码根目录下,如果提示覆盖文件,请点击覆盖。
13+
14+
## 开始构建
15+
16+
1. 打开终端,切换到代码根目录
17+
2. 输入 `cargo build -r --bin phira-main` ,直到编译完成。
18+
3. 复制 `.\assets\` 目录中的所有文件到 `.\target\release\assets\` ,至此,构建流程全部完成,您可以直接运行 `phira-main` 检查资源文件是否完整。
19+
20+
- __注意:在此文档编写时,代码目录下的资源文件并不完整,如果您发现主程序闪退,您可以前往 [release](https://github.com/TeamFlos/phira/releases) 页面下载任意版本的 Windows 或 Linux 压缩包,获取缺失的资源文件__
21+
22+
## 常见问题
23+
24+
Q. 构建输出 `failed to connect to GitHub`
25+
26+
A. 请检查网络环境,或者把 [prpr-miniquad](https://github.com/Mivik/prpr-miniquad)[prpr-macroquad](https://github.com/Mivik/prpr-macroquad)[sasa](https://github.com/Mivik/sasa)[phira-mp](https://github.com/TeamFlos/phira-mp) 的源代码逐一下载到本地并在 `Cargo.toml` 指定上述 crates 的 path(如 `prpr-miniquad = { path = "../../prpr-miniquad" }`) 然后重新构建
27+
28+
其余,请补充

src/phira_build_guide/prpr-avc.zip

100644100755
9.39 MB
Binary file not shown.

0 commit comments

Comments
 (0)