go语言交叉编译

go语言环境搭建:

1.安装:go version
go version go1.12.7 linux/amd64
后续升级为go1.13,对go module的支持更好

从官网下载1.12以上版本的压缩包文件,按照官网提示进行安装
设置环境变量:

PATH=$PATH:/usr/local/go/bin
export GOROOT=/usr/local/go
export GOPATH=~/Desktop/go/gopath #这个路径需要改成文件夹中库的位置
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

2.环境:

go env
GOARCH="amd64"
GOBIN="/home/guo/gobin"
GOCACHE="/home/guo/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/guo/Desktop/go/gopath"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/guo/Desktop/go/lanproxy-go-client-master2/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build212540433=/tmp/go-build -gno-record-gcc-switches"

选择1.12以上的版本

3.更改gopath环境变量:echo $GOPATH
由于go语言的一些包需要国外网站才能下载,使用本文件夹配置好的库的路径。

4.建议使用goland进行开发

5.打包命令:
linux版:
go build -x -v -ldflags "-s -w" -buildmode=c-archive -o libproxy.a ../src/main/
相机arm版:
CGO_ENABLED=1 GOOS=linux GOARCH=arm CC=/home/guo/Desktop/go/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc go build -x -v -ldflags "-s -w" -buildmode=c-archive -o libproxy.a ../src/main/

交叉编译器由相机开发工具提供。

你可能感兴趣的:(go语言交叉编译)