美文网首页
go arm 交叉编译

go arm 交叉编译

作者: 庐州散人2017 | 来源:发表于2018-11-20 11:39 被阅读0次

一、纯GO语言代码

1. 设置 GOARCH

export GOARCH=arm

2. 编译go 代码

go build xxx.go

3. 如果设置了qemu static , 可直接运行

./hello

或者使用arm模拟器运行

qemu-arm  ./hello

二、GO, C混合代码

1. 设置 GOARCH

export GOARCH=arm

2. 设置CGO

export CGO_ENABLED=1

export CC=arm-linux-gnueabi-gcc

3. 设置静态链接(如果是.a库)

export CGO_LDFLAGS=”-g -O2 -static”

4. 如果是so动态库,在运行时会缺少库ld-linux.so.3

ln -s /usr/arm-linux-gnueabi/lib/ld-linux.so.3 /lib/ld-linux.so.3

运行时如果缺少其它库,如 libc.so.6, libpthread.so.0

可查找系统,找到 /usr/arm-linux-gnueabi/lib/ 下对应的库,然后拷贝到当前目录。

然后,将当前目录设置为库搜索路径

export LD_LIBRARY_PATH=.

相关文章

网友评论

      本文标题:go arm 交叉编译

      本文链接:https://www.haomeiwen.com/subject/osvtqqtx.html