makefile 参考
1
2
3
4
5
| .PHONY: buildandrun
BIN_FILE := $(shell basename $(CURDIR))
buildandrun:
go build -ldflags '-s -w -linkmode "external" -extldflags "-static"' -o "${BIN_FILE}" ${BIN_FILE}.go
#./"${BIN_FILE}"
|
其他相关命令
1
2
| @CGO_ENABLED=1 go build -o "${BIN_FILE}" ${BIN_FILE}.go
ldd --version # 查看 glibc 版本ldd (Debian GLIBC 2.36-9) 2.36
|
在静态编译的时候可能会提示 cgo_unix_cgo.cgo2.c:58: 警告:Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linkin
就是因为使用了 getaddrinfo
函数。
静态链接应用程序时,依赖于 glibc 的其他功能可能会导致类似的警告。确保在进行任何更改之前,仔细检查应用程序的所有依赖,并确保它们与系统中提供的 glibc 版本兼容。