blockchain | 交叉编译armv8的pbc库

发布时间 2023-04-14 12:01:54作者: Mz1

blockchain | 交叉编译armv8的pbc库

这块儿网上是没啥具体的资料的,因为要测试pbc库在安卓上的性能,但是网上pbc的支持只到armv7,就只能自己编译了。

大致流程:

  1. 下载gmp库源码
  2. 下载pbc库源码
  3. 编译gmp
  4. 编译pbc
  5. 编译测试程序

这里使用的是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