我只能访问动态链接共享库的linux和darwin发行版。
以下是我如何将图书馆与高朗整合在一起
import "C"
import "unsafe"
type ProcessorWrapper struct {
ptr unsafe.Pointer
}
func init() {
pr.ptr = C.NewProcessor()
}
func GetDefault() (id int, name string) {
var default = C.GetDefault(pr.ptr)
id = int(default.materialId)
name = C.GoString(default.name)
return
}
当我将匹配的库复制到build/文件夹下时,这工作得非常好。
我试图将其作为一个可获取的库,在这里它可以在linux和darwing架构上工作。
我的问题是告诉go编译器为匹配的goos和goarch选择正确的库。
我试着用下面这样的文件夹结构
build/darwing/libprocessing_lib.so
build/linux/libprocessing_lib.so
修改ldflags如下
//
但是它不能识别${goos}并用正确的值替换它。
有没有办法实现这个动态库拾取功能?