【发布时间】:2017-04-30 20:25:42
【问题描述】:
我想知道是否可以使用 Go 交叉编译共享库(如果可以:如何)。假设我有这个代码:
package main
import "C"
//export DoubleIt
func DoubleIt(x int) int {
return x * 2
}
func main() {}
在src/doubler/main.go。在 Mac 上我可以运行
go build -o libdoubler.dylib -buildmode=c-shared doubler
获取名为libdoubler.dylib 的共享库。在 linux 上类似,只是扩展名为 .so。
现在我想使用 Linux 作为主要平台来构建我的库(适用于 Mac 和 Windows)。我有哪些选择?
将 GOOS 设置为 darwin 并在 linux 上运行上述代码,我得到了
can't load package: package doubler: no buildable Go source files in /home/patrick/Desktop/go/src/doubler
有什么想法吗?
【问题讨论】:
标签: go shared-libraries cross-compiling