我想在 Windows 7 32 位上创建一个小型 GUI。这就是我所做的:
- 我安装了MinGw。
- 我从这里下载了 gtk+ all-in-one bundle:http ://www.gtk.org/download/win32.php并将其添加到我的 PATH 变量中
为了检查正确的安装,我输入gcc
了命令提示符。它返回错误消息realgcc: no input file,所以看起来 gcc 安装正确。然后我尝试运行gtk-demo
。它也有效
- 我的 go 安装已经过测试并且运行良好。我已经用它开发了一个小型服务器。GOROOT 和 GOPATH 都设置正确。
- 要安装 go-gtk,我使用了
go get github.com/mattn/go-gtk/gtk
安装完成时出现很多警告。
C:\Users\lhk>去 github.com/mattn/go-gtk/gtk
# github.com/mattn/go-gtk/glib
realgcc.exe:警告:最后一个输入文件后的“-x c”无效
realgcc.exe:没有输入文件
# github.com/mattn/go-gtk/gdk
realgcc.exe:警告:最后一个输入文件后的“-x c”无效
realgcc.exe:没有输入文件
# github.com/mattn/go-gtk/pango
realgcc.exe:警告:最后一个输入文件后的“-x c”无效
realgcc.exe:没有输入文件
C:\用户\lhk>
为了测试 go-gtk 的安装,我使用了这里的示例代码:http: //mattn.github.io/go-gtk/。我尝试运行此代码,go run
但它以错误消息终止:
# github.com/mattn/go-gtk/glib
realgcc.exe: 警告: '-x c' after last input file has no effect
realgcc.exe: no input files
# github.com/mattn/go-gtk/gdk
realgcc. exe:警告:最后一个输入文件后的'-x c'无效
realgcc.exe:没有输入文件
#github.com /mattn/go-gtk/pango
realgcc.exe:警告:最后一个输入文件后的'-x c'没有影响
realgcc.exe:没有输入文件
退出状态2
我做错了什么 ?如何正确设置 gtk 以与 go 一起使用?
更新
Go IRC 频道上的 mb0 非常有帮助,并向我指出了这个https://groups.google.com/forum/?fromgroups#!topic/golang-nuts/GwbkQREiTZI
go-gtk 的创建者显然让 go-gtk 在 win32 上工作。他没有使用 go get 。相反,他将 github 存储库克隆到他的 GOPATH 上的 src 文件夹中,并使用 mingw 编译器 shell 调用 mingw32-make。
我做了完全相同的事情:克隆了 repo 并调用了 mingw32-make。它开始编译但失败并显示错误消息:
# pkg-config --cflags gtksourceview-2.0
在 pkg-config 搜索路径中找不到包 gtksourceview-2.0。
也许您应该添加包含“gtksourceview-2.0.pc”的目录
到 PKG_CONFIG_PATH 环境变量
找不到包“gtksourceview-2.0”退出状态
1 mingw32-make: * [全部] 错误 2
这实际上给出了一些具体的建议。显然有一个包配置实用程序,它没有找到一个重要的包。不幸的是,我不知道如何解决这个问题。我查看了 gtk 网站,在 pkg-config http://www.gtk.org/api/2.6/gtk/gtk-compiling.html上找到了这篇文章
在我看来 pkg-config 负责配置包导入。因此,我很犹豫是否自己创建 PKG_CONFIG_PATH 变量,因为我不知道它应该指向哪里。我只是尝试在我的 mingw shell:pkg-config --cflags gtk+-2.0
和pkg-config --libs gtk+-2.0
. 第一个似乎显示包含路径的列表,第二个仅打印可用的库。有 pango、cairo、gobject、pixbuf 等等,但绝对没有像 gtksourceview 这样的库。
我的猜测是我的机器上没有这个库。这让我很困惑,因为我下载并解压缩了一个应该满足所有依赖项的包。
我能做些什么来解决这个问题?