试图构建一个运行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' .
这对我有用。构建成功并生成了一个静态链接程序。
- 1 回答
- 0 关注
- 174 浏览
添加回答
举报
0/150
提交
取消