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/

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容