CGO问题和解决方案

1、当go程序中使用了由c/c++等外部库文件或依赖,则go编译需要将cgo开启,并使用gcc进行编译 、如使用了sqlite3的依赖

示例:CGO_ENABLED=1 go build

2、将go编译的程序减小生成的文件大小

参数:CGO_LDFLAGS="-s -w" CGO_ENABLED=1

3、将动态链接库静态编译到程序中、如使用了插件则不能编译为静态链接、否则会出现无法链接上插件

参数:CGO_LDFLAGS="-static -s -w" CGO_ENABLED=1

你可能感兴趣的:(CGO问题和解决方案)