背景
我将使用go-sqlite3交叉编译golang应用程序,这会将我推入“cgo交叉编译坑”。为了将其交叉编译为aarch64,我使用的命令如下,但错误:
[root@ec5dc2a3bd37 data_collector]# make crosscompiletry
CGO_ENABLED=1 GOOS=linux GOARCH=arm64 CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ AR=aarch64-linux-gnu-ar CGO_LDFLAGS="--sysroot=/usr/include:/usr/lib/gcc/aarch64-linux-gnu/4.8.5/include -static" /usr/local/go/bin/go build -o ./output/crosscompile/dcagent ./cmd/agent/main.go
# runtime/cgo
_cgo_export.c:3:20: fatal error: stdlib.h: No such file or directory
#include <stdlib.h>
^
compilation terminated.
make: *** [crosscompiletry] Error 2
如何修复此错误?
这是否意味着 gccgo 找不到 aarch64 的包含?
我有这些包含和开发工具,包含由设置,我做得对吗?--sysroot
我会在等待帮助时挖掘以下线索:
狐的传说
慕森卡
相关分类