尝试构建运行http服务器的go程序的静态链接版本,并使用net包来确定和解析传入请求的IP地址.使用此构建语句:
CGO_ENABLED=0 go install -a -ldflags '-s' .
Run Code Online (Sandbox Code Playgroud)
这个序言在我的程序中:
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"
)
Run Code Online (Sandbox Code Playgroud)
这与build 1.3一起工作,生成一个静态链接的程序,但是没有使用go 1.4.2.构建成功,但程序没有静态链接.
有谁知道发生了什么?
更多搜索打开了这个线程在golang问题跟踪有关无法静态链接导入程序net包,由于1.3和1.4之间变化.
读下来我发现ianlancetaylor建议使用该-installsuffix开关来指定cgo.这使我的构建声明:
CGO_ENABLED=0 go install -a -installsuffix cgo -ldflags '-s' .
Run Code Online (Sandbox Code Playgroud)
这对我有用.构建成功并生成静态链接程序.
| 归档时间: |
|
| 查看次数: |
861 次 |
| 最近记录: |