blockchain | 交叉编译armv8的pbc库
这块儿网上是没啥具体的资料的,因为要测试pbc库在安卓上的性能,但是网上pbc的支持只到armv7,就只能自己编译了。
大致流程:
- 下载gmp库源码
- 下载pbc库源码
- 编译gmp
- 编译pbc
- 编译测试程序
这里使用的是aarch64-linux-gnu-g++ and aarch64-linux-gnu-gcc
在ubuntu下编译的。
动态编译由于android和linux的linker不同并不能跑,所以采用静态编译。
我使用的命令基本如下,具体可能略有差异。
# 交叉编译gmp
CFLAGS="-march=armv8"
./configure --enable-cxx --host=aarch64-linux-gnu --prefix=/root/arm/gmp/
# pbc:
export LDFLAGS="-L/root/arm/gmp/lib"
export CPPFLAGS="-I/root/arm/gmp/include"
./configure --host=aarch64-linux-gnu --prefix=/root/arm/pbc/
# 动态链接
aarch64-linux-gnu-g++ testpbc.cpp -o testpbc -I./pbc/include -I./gmp/include -lgmp -lgmpxx -lpbc -L.
# 静态链接
aarch64-linux-gnu-g++ libpbc.a libgmp.a libgmpxx.a testpbc.cpp -o testpbc -I./pbc/include -I./gmp/include -lpbc -lgmp -L. -static
标签:gnu,aarch64,blockchain,编译,pbc,linux,armv8,gmp
From: https://www.cnblogs.com/Mz1-rc/p/17317899.html