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_ENABLED=1 go build
参数:CGO_LDFLAGS="-s -w" CGO_ENABLED=1
参数:CGO_LDFLAGS="-static -s -w" CGO_ENABLED=1
本文标题:CGO问题和解决方案
本文链接:https://www.haomeiwen.com/subject/rrjecltx.html
网友评论