【发布时间】:2012-06-26 09:21:27
【问题描述】:
我将test0 包安装到$gopath\pkg\windows_386\hello\test0.a,但是当我构建依赖于test0 包的主包时,编译器会显示:import "hello/test0": cannot find package。
为什么会这样?
我有两个 go 文件:
$gopath/src/hello.go
package main
import (
"fmt"
"hello/test0"
)
func main() {
fmt.Println(test0.Number)
}
$gopath/src/hello/test0/test0.go
package test0
const (
Number int = 255
)
一开始,我运行go install hello/test0,它生成了$gopath\pkg\windows_386\hello\test0.a
然后,我删除目录$gopath/src/hello
最后,我运行go build hello.go,编译器显示hello.go:5:2: import "hello/test0": cannot find package
【问题讨论】:
-
go build文档似乎并不暗示它可以在没有来源的情况下工作。你有类似构建逻辑的参考吗? -
谢谢。你能告诉我怎么做吗?
-
对不起,我不知道如何在 Go1 中做到这一点(我只开源)。我什至不知道
.a是否包含所有需要的内容。但这是一个非常有趣的问题,我希望有人能够回答。如果没有,也许你应该问 golang-nuts。