我们在Linux系统中,使用Go语言编写基于GTK的程序时,一般都会使用github.com/gotk3/gotk3这个包,这个包是Go语言(Golang)对GTK3的绑定。
但是,实际使用时,编译到github.com/gotk3/gotk3/gtk这个子包的时候(go get或go install的时候),在一些Linux版本中,可能会遇上在编译时长时间没有任何反应的情况。此时可以尝试用下面的方法解决。
以Debian系的Ubuntu系统为例,首先要检查GTK开发包的版本,使用下面的命令:
apt install libgtk-3-dev
可以看到GTK开发包的版本,假设我们看到的是3.22版本,那么使用下面的命令重新获取并编译github.com/gotk3/gotk3/gtk子包:
go get -v -u -tags gtk_3_22 github.com/gotk3/gotk3/gtk
也就是说,用-tags参数指定gtk的版本与当前系统中的实际版本一致就可以了。如果只是要重新按指定版本编译已经下载的该包,直接用下面的命令:
go install -tags gtk_3_22 github.com/gotk3/gotk3/gtk
也是通过指定-tags参数来解决。
另外,gtk3绑定包的编译时间是比较长的,要有耐心静等成功。
有疑问加站长微信联系(非本文作者)