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