为了账号安全,请及时绑定邮箱和手机立即绑定

未使用 1.4.2 静态链接的 Go 程序

未使用 1.4.2 静态链接的 Go 程序

Go
千巷猫影 2021-10-18 11:13:38
试图构建一个运行http服务器的go程序的静态链接版本,并使用net包来确定和解析传入请求的IP地址。使用此构建语句:CGO_ENABLED=0 go install -a -ldflags '-s' .我的程序中的这个序言:package mainimport (    "encoding/json"    "errors"    "fmt"    "log"    "net"    "net/http"    "path/filepath"    "strings"    "golang.org/x/blog/content/context/userip"    "github.com/oschwald/maxminddb-golang")这与 go 1.3 一起构建,生成静态链接程序,但不适用于 go 1.4.2。构建成功,但程序不是静态链接的。有谁知道发生了什么?
查看完整描述

1 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

更多的搜索在 golang 问题跟踪器中找到了这个关于net由于 1.3 和 1.4 之间的变化而无法静态链接导入包的程序的线程。

阅读后,我发现ianlancetaylor 建议使用此解决方法使用-installsuffix开关指定cgo. 这使我的构建声明:

CGO_ENABLED=0 go install -a -installsuffix cgo -ldflags '-s' .

这对我有用。构建成功并生成了一个静态链接程序。


查看完整回答
反对 回复 2021-10-18
  • 1 回答
  • 0 关注
  • 174 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信