pingap介绍
Pingap是类似于nginx的反向代理,基于pingora构建
交叉编译
要交叉编译到的平台架构为debian armv7l(armhf)
运行交叉编译的平台archlinux x64
1. 克隆源代码
1 | git clone https://github.com/vicanso/pingap.git |
2. 安装rust target
1 | # 查看rusth支持的target |
3. 安装c/c++交叉编译器gcc或zig (二选一)
如果rust项目中存在需要编译的c/c++依赖就要安装对应平台的编译器, 编译pingap需要安装
gcc 安装
选择的gcc target为armv7l-linux-gnueabihf
1
2# 从archlinuxcn源安装
sudo pacman -S armv7l-linux-gnueabihf-gcczig 安装
使用cargo-zigbuild,免去查找下载c/c++交叉编译器的繁琐1
2
3sudo pacman -S zig cargo-zigbuild
# cargo-zigbuild可以在cargo中安装
# cargo install cargo-zigbuild
4. 编译rust项目
使用gcc
- 直接在项目中运行
1
cargo build --release --target=armv7-unknown-linux-gnueabihf --config target.armv7-unknown-linux-gnueabihf.linker=\"armv7l-linux-gnueabihf-gcc\"`
- 或设置项目配置文件
在项目根目录的.cargo/config.toml
添加然后运行1
2[target.armv7-unknown-linux-gnueabihf]
linker = "armv7l-linux-gnueabihf-gcc"cargo build --release --target=armv7-unknown-linux-gnueabihf
标题中的为rust target, linker 中为c/c++ 的target
使用zig
直接在项目中运行 cargo zigbuild --target armv7-unknown-linux-gnueabihf