如何在 mac 上为 windows 构建 libvirt-go
How to build libvirt-go for windows on mac
我安装了 libs 并且可以 run/debug idea IDE 中的 libvirt 相关代码,但是在 MacBook 运行 下面的构建命令之后
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o zagent.exe cmd/test/main.go
我得到了
cmd/test/main.go:11:22: undefined: libvirt.NewConnect
感谢您的关注,代码如下:
package main
import (
_logUtils "github.com/easysoft/zagent/internal/pkg/lib/log"
"github.com/libvirt/libvirt-go"
)
func main() {
connStr := "***"
LibvirtConn, err := libvirt.NewConnect(connStr)
if err != nil {
_logUtils.Errorf(err.Error())
return
}
active, err := LibvirtConn.IsAlive()
if err != nil {
_logUtils.Errorf(err.Error())
return
}
if !active {
_logUtils.Errorf("not active")
}
}
libvirt-go 包是一个基于 API 到底层 libvirt.so 库的 CGo。您不能设置 CGO_ENABLED=0 并期望它仍然有效。 AFAI,Go 工具链也不允许与 CGo 交叉编译。
我安装了 libs 并且可以 run/debug idea IDE 中的 libvirt 相关代码,但是在 MacBook 运行 下面的构建命令之后
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o zagent.exe cmd/test/main.go
我得到了
cmd/test/main.go:11:22: undefined: libvirt.NewConnect
感谢您的关注,代码如下:
package main
import (
_logUtils "github.com/easysoft/zagent/internal/pkg/lib/log"
"github.com/libvirt/libvirt-go"
)
func main() {
connStr := "***"
LibvirtConn, err := libvirt.NewConnect(connStr)
if err != nil {
_logUtils.Errorf(err.Error())
return
}
active, err := LibvirtConn.IsAlive()
if err != nil {
_logUtils.Errorf(err.Error())
return
}
if !active {
_logUtils.Errorf("not active")
}
}
libvirt-go 包是一个基于 API 到底层 libvirt.so 库的 CGo。您不能设置 CGO_ENABLED=0 并期望它仍然有效。 AFAI,Go 工具链也不允许与 CGo 交叉编译。