我正在尝试使用go-lang中的共享库,我正在关注此博文:http://blog.ralch.com/tutorial/golang-sharing-libraries/
但是当我点击构建时,我得到了一个错误:
simo@simo:~/gopath$ go build -linkshared -o app effe/prova
src/effe/prova/prova.go:3:8: cannot find package "libmath" in any of:
/usr/local/go/src/libmath (from $GOROOT)
/home/simo/gopath/src/libmath (from $GOPATH)
我很新,所以我也会展示我的环境......
simo@simo:~/gopath$ pwd
/home/simo/gopath
simo@simo:~/gopath$ echo $GOPATH
/home/simo/gopath
simo@simo:~/gopath$ tree
.
├── pkg
│ └── linux_amd64_dynlink
│ ├── effe
│ │ ├── libmath.a
│ │ └── libmath.shlibname
│ └── libeffe-libmath.so
└── src
└── effe
├── libmath
│ └── libmath.go
└── prova
└── prova.go
7 directories, 5 files
simo@simo:~/gopath$ cat src/effe/libmath/libmath.go
// filename: libmath.go
package libmath
func Sum(x, y int) int {
return x + y
}
simo@simo:~/gopath$ cat src/effe/prova/prova.go
package main
import "libmath"
import "fmt"
func main() {
fmt.Printf("5 op 10 => %d", libmath.Sum(5, 10))
}
simo@simo:~/gopath$ go install -buildmode=shared -linkshared effe/libmath
simo@simo:~/gopath$ go build -linkshared -o app effe/prova
src/effe/prova/prova.go:3:8: cannot find package "libmath" in any of:
/usr/local/go/src/libmath (from $GOROOT)
/home/simo/gopath/src/libmath (from $GOPATH)
我做错了什么?
答案 0 :(得分:1)
“libmath”的导入路径是“effe / libmath”。
在尝试更复杂的构建和执行模式之前,尝试让您的构建在标准构建模式下工作。