go arm 交叉编译

2018-11-20  本文已影响0人  庐州散人2017

一、纯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=.

上一篇 下一篇

猜你喜欢

热点阅读