安装 fyne 包,失败并显示“找不到 -lXxf86vm”
installing fyne package, it fails with `cannot find -lXxf86vm`
我正在尝试 运行 https://github.com/fyne-io/fyne
中给出的演示代码
import (
"fyne.io/fyne/v2/app"
"fyne.io/fyne/v2/container"
"fyne.io/fyne/v2/widget"
)
func main() {
a := app.New()
w := a.NewWindow("Hello")
hello := widget.NewLabel("Hello Fyne!")
w.SetContent(container.NewVBox(
hello,
widget.NewButton("Hi!", func() {
hello.SetText("Welcome :)")
}),
))
w.ShowAndRun()
}
但是它显示这个错误
go: downloading github.com/stretchr/testify v1.6.1
go: downloading gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c
go: downloading golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4
github.com/go-gl/glfw/v3.3/glfw
/usr/bin/ld: cannot find -lXxf86vm
collect2: error: ld returned 1 exit status
我是运行ning go版本go1.16.7linux/amd64
如果您在 Linux 上编译,您可能需要一些额外的库 headers - 查看 https://developer.fyne.io/started/ 中的说明。
根据您的发行版,库名称会有所不同,但它可能被命名为 libXxf86vm-devel
.
我在这里为 Ubuntu 20:04 添加一个解决方案,使用 golang go1.16.5
我有 gcc,我发现我需要以下系统依赖项
sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev xorg-dev
我的构建文件
build:
go mod download
CGO_ENABLED=1 go build -ldflags "-s -w" -o $(BINARY)
简单main.go
import (
"fyne.io/fyne/v2/app"
)
func main() {
a := app.New()
w := a.NewWindow("Server Mon")
w.ShowAndRun()
}
当我构建时得到一些缺少的依赖项堆栈跟踪,比如
../../../gopkg/pkg/mod/fyne.io/fyne/v2@v2.0.4/storage/repository/parse.go:8:2: missing go.sum entry for module providing package github.com/fredbi/uri (imported by fyne.io/fyne/v2/
这些都解决了
go get fyne.io/fyne/v2/app@v2.0.4
go get fyne.io/fyne/v2/storage/repository@v2.0.4
go get fyne.io/fyne/v2/internal/painter/gl@v2.0.4
go get fyne.io/fyne/v2/internal/driver/glfw@v2.0.4
通过上述步骤一切都构建并运行
我正在尝试 运行 https://github.com/fyne-io/fyne
中给出的演示代码
import (
"fyne.io/fyne/v2/app"
"fyne.io/fyne/v2/container"
"fyne.io/fyne/v2/widget"
)
func main() {
a := app.New()
w := a.NewWindow("Hello")
hello := widget.NewLabel("Hello Fyne!")
w.SetContent(container.NewVBox(
hello,
widget.NewButton("Hi!", func() {
hello.SetText("Welcome :)")
}),
))
w.ShowAndRun()
}
但是它显示这个错误
go: downloading github.com/stretchr/testify v1.6.1
go: downloading gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c
go: downloading golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4
github.com/go-gl/glfw/v3.3/glfw
/usr/bin/ld: cannot find -lXxf86vm
collect2: error: ld returned 1 exit status
我是运行ning go版本go1.16.7linux/amd64
如果您在 Linux 上编译,您可能需要一些额外的库 headers - 查看 https://developer.fyne.io/started/ 中的说明。
根据您的发行版,库名称会有所不同,但它可能被命名为 libXxf86vm-devel
.
我在这里为 Ubuntu 20:04 添加一个解决方案,使用 golang go1.16.5
我有 gcc,我发现我需要以下系统依赖项
sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev xorg-dev
我的构建文件
build:
go mod download
CGO_ENABLED=1 go build -ldflags "-s -w" -o $(BINARY)
简单main.go
import (
"fyne.io/fyne/v2/app"
)
func main() {
a := app.New()
w := a.NewWindow("Server Mon")
w.ShowAndRun()
}
当我构建时得到一些缺少的依赖项堆栈跟踪,比如
../../../gopkg/pkg/mod/fyne.io/fyne/v2@v2.0.4/storage/repository/parse.go:8:2: missing go.sum entry for module providing package github.com/fredbi/uri (imported by fyne.io/fyne/v2/
这些都解决了
go get fyne.io/fyne/v2/app@v2.0.4
go get fyne.io/fyne/v2/storage/repository@v2.0.4
go get fyne.io/fyne/v2/internal/painter/gl@v2.0.4
go get fyne.io/fyne/v2/internal/driver/glfw@v2.0.4
通过上述步骤一切都构建并运行