使用Go语言做了一个微服务,微服务中的一个功能,需要调用底层so。该微服务运行于arm64架构,系统为aarch64 GNU/Linux。因此需要交叉编译。
第一步:编写编译脚本,脚本中需要设置环境变量:
export CGO_ENABLED=1
export GOARCH=arm64
export GOOS=linux
rm -rf appserver
go build -v
第二步:调整gcc编译环境。如下图中5项,默认用于编译和链接的工具。位于/usr/bin目录中,先做好备份,删除掉。然后使用"ln -s /opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin/aarch64-himix100-linux-gcc gcc"命令依次制作交叉编译环境工具的链接。最后运行脚本,交叉编译完成。拷贝到目标机器上,成功运行。