Golang交叉编译Sqlite3踩坑记录

文章讲述了在Windows环境下尝试使用Golang交叉编译包含Sqlite3的Linux程序时遇到的问题,指出由于内置sqlite3的复杂性,这种方法可能不适用,并推荐Linux环境下使用gcc。作者提供了安装Golang的步骤,以及设置局部环境变量进行交叉编译的命令,但警告这种方式的成本与收益不成正比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值