gpt4 book ai didi

Go 程序未使用 1.4.2 静态链接

转载 作者:IT王子 更新时间:2023-10-29 01:33:32 27 4
gpt4 key购买 nike

尝试构建运行 http 服务器的 go 程序的静态链接版本,并使用 net 包来确定和解析传入请求的 IP 地址。使用此构建语句:

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

我程序中的序言:

package main

import (
"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。构建成功,但程序未静态链接。

有人知道这是怎么回事吗?

最佳答案

出现更多搜索 this thread in the golang issue tracker关于由于 1.3 和 1.4 之间的更改而无法静态链接导入 net 包的程序。

往下读我发现this workaround suggested by ianlancetaylor使用 -installsuffix 开关指定 cgo。这使我的构建声明:

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

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

关于Go 程序未使用 1.4.2 静态链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30954159/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com