环境:
Ubuntu 24.04
go 1.24
针对以下程序 hello.go
package main
import (
)
func main() {
// 初始化GTK
gtk.Init(nil)
// 创建主窗口
win, _ := gtk.WindowNew(gtk.WINDOW_TOPLEVEL)
win.SetTitle("Hello Go GTK")
win.SetDefaultSize(400, 300)
win.Connect("destroy", func() {
gtk.MainQuit()
})
// 添加标签
label, _ := gtk.LabelNew("欢迎使用Go语言开发GTK界面!")
win.Add(label)
// 显示所有组件
win.ShowAll()
// 启动主事件循环
gtk.Main()
}
操作如下
$ export GOPROXY=https://goproxy.cn,direct
$ export CGO_ENABLED=1
$go mod init hello
$ go get github.com/gotk3/gotk3/gtk
go: added github.com/gotk3/gotk3 v0.6.4
$ go run hello.go
出现如下错误
../go/pkg/mod/github.com/gotk3/gotk3@v0.6.4/gdk/gdk_since_3_22.go:140:180: undefined: callback
怎样解决?
办法如下:
修改 go.mod 文件,将 gotk3 的版本改为 v0.6.3,然后运行
$ go mod tidy
$ go build hello.go
$ ./hello