cmd/go: 当在SWIG接口中使用%go_import时,构建失败,

sigwle7e  于 4个月前  发布在  Go
关注(0)|答案(3)|浏览(64)

你使用的Go版本是什么( go version )?

go version go1.13.5 linux/amd64

你使用的操作系统和处理器架构是什么( go env )?

go env 输出

GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/user/.cache/go-build"
GOENV="/home/user/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/user/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build083237116=/tmp/go-build -gno-record-gcc-switches"

你做了什么?

我创建了一个空的包和一个包含只有 %go_import(_ "time") 的SWIG接口。

你期望看到什么?

成功构建(通过执行 go build )。

你看到了什么?

构建失败,出现了以下错误:
/tmp/go-build220377569/b001/_dummy_swig.go:40:8: can't find import: "time"

jtw3ybtb

jtw3ybtb1#

要复现这个问题,请查看以下文件:
go/src/cmd/go/internal/load/pkg.go
在第1657行中,有一个注解:
| | // TODO: The .swig and .swigcxx files can use |
为了解决这个问题,可以在go文件上添加import _ "time"

tyu7yeag

tyu7yeag2#

如果有人想做这个待办事项,请发送一个CL。

nafvub8i

nafvub8i3#

如果有人想做这个待办事项,请发送一个CL。

相关问题