[英]Cannot use lib.Const (constant 16777216 of type lib.Version) as lib.Version
我遇到了一个奇怪的错误。 我有这个较大的项目,可以使用典型的go build
进行良好编译。 但是,当我切换到 TinyGo (v0.8.0) 时。 我从这段代码中得到了上述错误:
func main() {
_ = lib.NewObject{
Version: lib.Const,
}
}
我更改了名称以减少混淆,但符号完全相同。 lib.Const
是lib.Version
的常量。 指针也不是。
我知道这是一个非常具体的问题,因为它在 realm TinyGo 中。 这更像是“记录在案”......而且我什至不得不创建“tinygo”标签,因为这个问题非常具体。 但要添加更多细节:
tinygo build -target=wasm -o build/out.wasm src/main-wasm.go
这是编译器的一个错误: https://github.com/tinygo-org/tinygo/issues/726
它源于以不同的名称两次导入相同的 package。 在这种情况下,它是:
// file1:
import "./lib"
// file2:
import "../lib"
以上制作了 package“lib”的 2 个实例。 使用普通 Go 编译器时,通常可以这样做。 但是 TinyGo 没有适当的机制来处理这个问题。
建议将 append 到$GOPATH
以防止使用相对路径:
// file1:
import "lib"
// file2:
import "lib"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.