目标:最小化安装gtk glade pygtk,使用cygwin中的开发工具链进行gtk的开发和pygtk的开发,能使用glade进行界面设计。
开发环境是使用cygwin提供的工具,如make等等。所安装的程序库、Python环境和编译器mingw64都是win32的原生程序,并不依赖于cygwin1.dll。
一、准备工作:
由于cygwin的gcc在64位win7下使用存在问题。在链接阶段会出现“Resource temporarily unavailable ”错误。需要使用mingw64来进行编译。mingw64现在已经可以通过cygwin的setup直接安装。安装完成后可以使用i686-w64-mingw32-gcc来编译和链接程序。编译和链接的要分步进行,否则会出现类似找不到lib的错误。MS是单步进行的时候使用的链接器不是mingw64提供的链接器所引起的,没有细究了。
二、安装gtk+
由于gtk开发需要gtk dev和运行库、pygtk也需要运行库,因此我们可以直接选用gtk+项目所提供的all in one bundle。这个包提供了GTK开发所需要的第三方库,也包含了GTK的开发库和运行库。将all in one bundle解开后,将它的bin目录添加到PATH。这时就可以在cygwin用make进行编译了。测试用的Makefile如下
CC=i686-w64-mingw32-gcc
GTK_PATH=d:/GTK
CFLAGS=-mms-bitfields -I$(GTK_PATH)/include/gtk-2.0 -I$(GTK_PATH)/lib/gtk-2.0/include -I$(GTK_PATH)/include/atk-1.0 -I$(GTK_PATH)/include/cairo -I$(GTK_PATH)/include/gdk-pixbuf-2.0 -I$(GTK_PATH)/include/pango-1.0 -I$(GTK_PATH)/include/glib-2.0 -I$(GTK_PATH)/lib/glib-2.0/include -I$(GTK_PATH)/include -I$(GTK_PATH)/include/freetype2 -I$(GTK_PATH)/include/libpng14 -Wall
LFLAGS=-L$(GTK_PATH)/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgio-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl
gtk_hello:
$(CC) -c gtk_hello.c -o gtk_hello.o $(CFLAGS)
$(CC) -o gtk_hello.exe gtk_hello.o $(LFLAGS)
三、安装pygtk
pygtk项目官网也提供了all-in-one安装程序,里头也包含了一个gtk的运行库,这个我们并不需要。我们只需要选择安装PyGTK,PyCairo和PyGObject这三个python库就可以了,底层的dll仍然由之前安装的gtk all in one bundle提供。安装完上面三个Python程序库后,可以用下面的代码测试pygtk安装是否正常:
import pygtk
pygtk.require('gtk-2.0')
import pygtk.gtk
如果出现dll找不到之类的错误,可以查看下windows/system32目录下是否有zlib1.dll这个文件。如果有可以试试用GTK+安装目录的bin/zlib1.dll来覆盖它。我的机器上的情况是system32下的这个文件的版本为1.2.3,而GTK带的版本为1.2.5。
四、安装glade
适用于gtk+ 2的glade可以从http://ftp.gnome.org/pub/GNOME/binaries/win32/glade3/3.8/下载。这里提供了几个不同的版本,glade3-bundle_3.8.1-1-20111123_win32.zip里带了gtk运行库,我们虽然不需要使用,但是仍然需要下载它,因为其它包里缺少一些文件,要由这个包提供。
我们直接使用的是glade3_3.8.1-1_win32.zip,这个包不带GTK运行环境,只包含glade程序本身。将这个包里的文件直接复制到GTK安装目录,它就可以使用之前安装的GTK库了。这时运行glade会提示找不到libxml2-2.dll,可以从glade3-bundle_3.8.1-1-20111123_win32.zip把这个文件复制到GTK安装目录的bin目录下。
我们还需要用glade3-bundle_3.8.1-1-20111123_win32.zip中的share/icons/hicolor覆盖GTK安装目录下的share/icons/hicolor。这是因为glade3_3.8.1-1_win32.zip中还缺少一些图片资源,有些图标会显示不出来。
分享到:
相关推荐
GTK+虽然是Linux下的开发工具包,但是因为其跨平台特性,我们可能需要...所以如何在Windows下配置GTK+的开发环境,是许多Gtk学习者的实际需求。 本文在下文基础上增加了GTK+3.0模板修改功能并更新了部分下载链接及截图 ...
Windows下MSYS+MinGW+GTK+GLADE+Eclipse环境搭建
包含了主要GTK+,Glade部件的使用例子源代码。
使用Glade3 进行 GTK+ 开发的入门级指南。 Micah Carrick撰写的 GTK+ and Glade3 GUI Programming Tutorial 系列由我翻译上传,亦可访问博客阅读:http://blog.csdn.net/xbwee
gtk+-bundle_3.10.4-20131202_win64.zipGTK+(GIMP Toolkit)是一套源码以LGPL许可协议分发、跨平台的图形工具包
基于C gtk/gtk+ sqlite3选课系统的开发
这个东西不是什么源码,是在windows下用gtk做跨平台的程序环境搭建,因为网上很多人写了,但是不太实用,这个相对比较简单而且本人一直是在linux和windows下使用过。希望大家多多指教!
注意: GTK+ 3.x版本跟Python2.7不兼容,如果在Python下使用GTK,需要安装2.x版的gtk+ (在windows上如此)
分享我的学习笔记,另赚点分.内容:Win32下搭建Glade-Gtk+编程环境,以及基本的几个示例
GTK+ 参考手册 for GTK+ 2.14.3,最新英文版 GTK+ is a library for creating graphical user interfaces. It works on many UNIX-like platforms, Windows, and on framebuffer devices. GTK+ is released under ...
最近在搞LinuxCNC界面开发,费劲千辛万苦找的几个不错的资料整合,包含Glade入门教程、PyGTK教程等6个文档,都不重复,很不错的学习资源
PDF电子书《用GTK+和GDK开发Linux图形用户界面应用》
压缩包包含gtk+-bundle_2.24.10-20120208_win32文件和gtk+ Visual Studio 2008环境搭建文档说明
gtk+开发工具gtk+开发工具gtk+开发工具
用 GTK+和GDK开发linux图形用户界面应用
学习JSP的同学,初次接触的话,很有用的,交给你环境的搭建。软件运行需要相应的环境支持,如果设置不正确,即使安装成功也运行不起来。
Starting+off+in+Glade+GTK+,希望对大家glade的开发有帮助。
Foundations of GTK+ Development (PDF 英文版) By Andrew Krause ISBN10: 1-59059-793-1 ISBN13: 978-1-59059-793-4 630 pages Apr 2007 (Apress) GTK+ is one of the most influential graphical toolkits for...
windows gtk+ 开发环境搭建,描述windows下面的gtk+ 环境如何搭建。
gtk+-bundle_3.6.4-20130513_win64 gtk+ 在windows平台下的64位安装包,版本3.6.4。