$ CGO_ENABLED=1 GOARCH=amd64 GOOS=linux go build -o myserver main.go 除了这里给出的这几个变量外,还有一些其它变量,如 GODEBUG、GOFLAGS、GOPROXY 等,所有支持环境变量都可以在 里找到,有兴趣的话可以看看他们的作用。 这里重点介绍一下 CGO_ENABLED 环境变量对我们程序的影响。 CGO_ENABLED是用来控制go...
WORKDIR $GOPATH/src/app # Copy all files from the current directory to the working directory COPY . . # Fetch dependencies. RUN go get -u -d -v # Go build the binary, specifying the final OS and architecture we're looking for RUN GOOS=linux CGO_ENABLED=1 GOARCH=amd64 go build -l...
编译出多个平台可用的二进制程序,比如在Linux下编译出可以在Win下可以使用的EXE程序。
GOARCH="amd64" GOHOSTARCH="amd64" GOHOSTOS="linux" GOOS="linux" CC="gcc" GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build972111986=/tmp/go-build -gno-record-gcc-switches" CXX="g++" CGO_ENABLED="1" What did you do? when build for ARM, ...
Go学习笔记:golang交叉编译 $ cd /usr/local/go/src $ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 ./make.bash 如果是 Windows 则修改 GOOS 即可。...$ CGO_ENABLED=0 GOOS=windows GOARCH=amd64 ./make.bash (2) 现在可以编译 Linux 和 Windows 平台所需的执行文件了。...$ CGO_ENABLED=0 GOOS=lin...
然而,由于SQLite是一个用C语言编写的数据库,go-sqlite3需要使用cgo来调用SQLite的C语言API。因此,为了使用go-sqlite3,你的Go环境必须支持cgo。 3. 提供解决方案 为了解决这个问题,你需要重新编译你的Go二进制文件,并确保在编译时启用了cgo。这通常意味着你不能使用像GOOS=linux GOARCH=amd64 go build -a -...
$ CGO_ENABLED=1 GOARCH=amd64 GOOS=linux go build -o myserver main.go 除了这里给出的这几个变量外,还有一些其它变量,如 GODEBUG、GOFLAGS、GOPROXY 等,所有支持环境变量都可以在 里找到,有兴趣的话可以看看他们的作用。 这里重点介绍一下 CGO_ENABLED 环境变量对我们程序的影响。 CGO_ENABLED是用来控制...
交叉编译C代码仍然相当困难;你需要目标架构的C编译器和工具链(例如CC=aarch64-linux-musl-gccgo build...
交叉编译C代码仍然相当困难;你需要目标架构的C编译器和工具链(例如CC=aarch64-linux-musl-gccgo build...
我仍然在寻找更好的解决方案。镜像Dockerfile:https://github.com/sillyhatxu/alpine-build ...