繁体   English   中英

如何在Win 7上安装gtk

[英]How to set up gtk for go on Win 7

我想在Windows 7 32bit上创建一个小的GUI。 这是我所做的:

要检查正确的安装,我在命令提示符下键入了gcc 它返回了错误消息realgcc:没有输入文件 ,因此似乎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:警告:最后输入文件后的“ -xc”无效

realgcc.exe:没有输入文件

#github.com/mattn/go-gtk/gdk

realgcc.exe:警告:最后输入文件后的“ -xc”无效

realgcc.exe:没有输入文件

#github.com/mattn/go-gtk/pango

realgcc.exe:警告:最后输入文件后的“ -xc”无效

realgcc.exe:没有输入文件

C:\\ Users \\ lhk>

为了测试go-gtk的安装,我使用了以下示例代码: http : //mattn.github.io/go-gtk/ 我尝试通过go run运行此代码,但是它终止并显示错误消息:

#github.com/mattn/go-gtk/glib
realgcc.exe:警告:最后输入文件后的“ -xc”无效
realgcc.exe:没有输入文件
#github.com/mattn/go-gtk/gdk
realgcc.exe:警告:最后输入文件后的“ -xc”无效
realgcc.exe:没有输入文件
#github.com/mattn/go-gtk/pango
realgcc.exe:警告:最后输入文件后的“ -xc”无效
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编译器外壳调用mingw32-make。

我做了完全一样的事情:克隆了仓库,然后叫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中运行to shell命令: pkg-config --cflags gtk+-2.0pkg-config --libs gtk+-2.0 第一个似乎显示包含路径的列表,第二个似乎仅打印可用的库。 有pango,cairo,gobject,pixbuf等许多工具,但绝对没有像gtksourceview这样的库。

我的猜测是我的机器上没有这个库。 这让我感到困惑,因为我将所有文件下载并解压缩为一个可以满足所有依赖关系的软件包。

我该怎么办才能解决这个问题?

终于可以了。 这是逐步指导,使gtk在go的32位Windows上工作。

  • 安装Mingw和Msys
  • 从此处http://www.gtk.org/download/win32.php下载gtk多合一捆绑包
  • 将其解压缩到C:\\ GTK。 我听说这个名字很重要。 就我个人而言,我想不出原因,但是您可能要记住这是可能的错误来源。
  • 将bin文件夹添加到您的路径。 现在,您应该可以从Shell中运行gtk-demo了。

gtk网站表示,多合一捆绑包同时包含gtk +堆栈和3rd party依赖项。 但是为了在Windows上编译go-gtk,您将需要安装其他库。

您需要gtksourceview和libxml。 这些可以在这里找到: http : //ftp.gnome.org/pub/gnome/binaries/win32/gtksourceview/2.10/以及这里: http : //ftp.gnome.org/pub/GNOME/binaries/win32/dependencies /

下载将是一个包含各种文件夹的压缩文件。 您需要解压缩文件夹并将其复制到C:\\ GTK。 Windows会询问您是否要将它们集成到现有的。 是的你是。 现在,您已经下载了所有依赖项。

  • 打开Mingw shell并导航到go-gtk文件夹
  • 调用“ pkg-config --cflags gtk + -2.0”
  • 调用“ pkg-config --libs gtk + -2.0”
  • 致电mingw32-make

编译应该可以正常工作。 如果有错误,并且mingw抱怨缺少库,您应该能够像安装gtksourceview和libxml一样安装它们。

现在测试go-gtk

  • 在go src目录中创建一个新文件夹。 我将其命名为“ gtktest”
  • 创建一个新的.go文件。
  • 从此处复制示例代码: http : //mattn.github.io/go-gtk/
  • 使用go build创建一个exe

我希望这可以帮助您在Windows上使用go和gtk。

我一直试图在GO / Windows上运行GUI框架,但最终我按照您的指示进行了操作。

我只有几个补充:

  • 我在路径中添加了“ C:\\ GTK \\ bin”,而不是“ C:\\ GTK”
  • 我必须添加第三个依赖项:pthreads
  • 要下载正确的依赖项:每次获取文件名中包含“ dev”的文件
  • 可以在C:\\ MinGW \\ msys \\ 1.0 \\ msys.bat中找到mingw控制台

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM