当前位置: 首页 > 工具软件 > go-sqlite3 > 使用案例 >

Golang交叉编译Sqlite3踩坑记录

夹谷英奕
2023-12-01

Golang交叉编译Sqlite3踩坑记录 ,windows下编译golang go-sqlite3解决方案

众所周知Golang能够在一个平台编译不同平台可执行程序进行发布
然而在遇到需要内置处理程序才能执行的程序时就有坑了,例如Golang内置Sqlite3
过程踩坑就不扯了,上代码

windows 打包linux 执行程序会有问题(内置sqlite3的),在寻求此方案的兄弟们可以放弃了,成本与收益不成正比 。linux 自带gcc环境

1、安装golang

目前最新golang本版1.20.2,此处仅安装不设置系统环境变量

mkdir /etc/golang/
cd /etc/golang/
wget https://github.com/golang/go/archive/refs/tags/go1.20.2.zip
unzip go1.20.2.zip
rm -rf go1.20.2.zip

2、打包程序 此处设置局部环境变量(适用于同台机器多go版本构建)


export GOROOT=/etc/golang/go1.20.2
export PATH=$GOROOT/bin:$PATH
export GOPATH=/etc/golang/gopath
export GO111MODULE=on
export GOPROXY=https://goproxy.cn,direct
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
source /etc/bashrc

set cc=gcc
set CGO_ENABLED=1
set GOOS=linux
set GOARCH=amd64

go mod tidy
go build -ldflags="-s -w" -v -a ./src/main.go

 类似资料: