安装环境:windows xp, strawberry 5.12
1. 下载所需要文件
文件地址:http://ftp.gnome.org/pub/gnome/binaries/win32/ 有些文件在
http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/ 下面
下载文件:
atk-dev_1.28.0-1_win32.zip atk_1.28.0-1_win32.zip
cairo-dev_1.8.8-3_win32.zip cairo_1.8.8-3_win32.zip
expat-dev_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip
fontconfig-dev_2.8.0-1_win32.zip fontconfig_2.8.0-1_win32.zip
freetype-dev_2.3.11-1_win32.zip freetype_2.3.11-1_win32.zip
gettext-runtime-dev-0.17-1.zip gettext-runtime-0.17-1.zip
glib-dev_2.22.4-1_win32.zip glib_2.22.4-1_win32.zip
gtk+-dev_2.18.5-1_win32.zip gtk+_2.18.5-1_win32.zip
libxml2-dev_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip
libpng-dev_1.2.40-1_win32.zip libpng_1.2.40-1_win32.zip
libglade-dev_2.6.4-1_win32.zip libglade_2.6.4-1_win32.zip
pango-dev_1.26.1-1_win32.zip pango_1.26.1-1_win32.zip
pkg-config_0.23-3_win32.zip glade3-3.6.7-with-GTK+.exe
zlib-dev_1.2.4-2_win32.zip zlib_1.2.4-2_win32.zip
2. 安装步骤
1) 释放下载的所有ZIP文件到同一个目录(设为runFileList)
2) 把所有的*.dll.a 改名为 *.a
3) 修改lib\pkgconfig\pangocairo.pc这个文件,将Libs:xxx这行修改为 Libs:-L${libdir} -lpangocairo-1.0C:/strawberry/perl/site/lib/auto/Cairo/ Cairo.a, 原因是Cairo.a 会被Perl模块:Pango和Gtk2引用,不包含编译时会报一些函数找不到的错误
4) 把目录runFileList下面的所有文件(含子目录)复制到你的perl安装目录中下的编译目录(这里为C:\strawberry\c)
5) 修改windows的班环境判变量,新建“系统变量”,变量名:PKG_CONFIG_PATH,变量值:C:\Strawberry\c\lib\pkgconfig。同时在系统变量PATH中增加:C:\strawberry\c;
6) 运行glade3-3.6.7-with-GTK+.exe,目录可以设为 C:\strawberry\Gtk+
7) 拷贝C:\strawberry\Gtk+\lib\pkgconfig\*.pcgc 到 C:\strawberry\c\lib\pkgconfig\ 下面
8) perl-MCPAN -e "force install Glib"
9) perl-MCPAN -e "install Gtk2"
10) perl -MCPAN -e "Gtk2-GladeXML"
3.测试下面代码:
#!C:/strawberry/perl/bin -w
use strict;
use FileHandle;
use utf8;
use 5.010;
# 把复杂数据结构打印到屏幕上(经改造以后可支持双
字节字符)
use Data::Dumper;
$Data::Dumper::Useperl =1; # 关键
package Data::Dumper;
sub qquote{
local $_= shift;
returnqq('$_');
}
use Encode;
use Encode::CN;
binmode(STDOUT, ":encoding(gbk)");
binmode(STDIN, ":encoding(gbk)");
binmode(STDERR, ':encoding(gbk)');
use Gtk2;
Gtk2 -> init; # 程序的初始化,在任何 Gtk2-perl程序中,我们都必须先初始化
use Gtk2::GladeXML;
my $gladexml =Gtk2::GladeXML->new('example.glade');
$gladexml->signal_autoconnect_from_package('main');
my $quitbtn = $gladexml->get_widget('Quit');
Gtk2->main;
4. 运行结果:
弹出如上的对窗口,成功
1. 下载所需要文件
文件地址:http://ftp.gnome.org/pub/gnome/binaries/win32/ 有些文件在
http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/ 下面
下载文件:
atk-dev_1.28.0-1_win32.zip atk_1.28.0-1_win32.zip
cairo-dev_1.8.8-3_win32.zip cairo_1.8.8-3_win32.zip
expat-dev_2.0.1-1_win32.zip expat_2.0.1-1_win32.zip
fontconfig-dev_2.8.0-1_win32.zip fontconfig_2.8.0-1_win32.zip
freetype-dev_2.3.11-1_win32.zip freetype_2.3.11-1_win32.zip
gettext-runtime-dev-0.17-1.zip gettext-runtime-0.17-1.zip
glib-dev_2.22.4-1_win32.zip glib_2.22.4-1_win32.zip
gtk+-dev_2.18.5-1_win32.zip gtk+_2.18.5-1_win32.zip
libxml2-dev_2.7.7-1_win32.zip libxml2_2.7.7-1_win32.zip
libpng-dev_1.2.40-1_win32.zip libpng_1.2.40-1_win32.zip
libglade-dev_2.6.4-1_win32.zip libglade_2.6.4-1_win32.zip
pango-dev_1.26.1-1_win32.zip pango_1.26.1-1_win32.zip
pkg-config_0.23-3_win32.zip glade3-3.6.7-with-GTK+.exe
zlib-dev_1.2.4-2_win32.zip zlib_1.2.4-2_win32.zip
2. 安装步骤
1) 释放下载的所有ZIP文件到同一个目录(设为runFileList)
2) 把所有的*.dll.a 改名为 *.a
3) 修改lib\pkgconfig\pangocairo.pc这个文件,将Libs:xxx这行修改为 Libs:-L${libdir} -lpangocairo-1.0C:/strawberry/perl/site/lib/auto/Cairo/ Cairo.a, 原因是Cairo.a 会被Perl模块:Pango和Gtk2引用,不包含编译时会报一些函数找不到的错误
4) 把目录runFileList下面的所有文件(含子目录)复制到你的perl安装目录中下的编译目录(这里为C:\strawberry\c)
5) 修改windows的班环境判变量,新建“系统变量”,变量名:PKG_CONFIG_PATH,变量值:C:\Strawberry\c\lib\pkgconfig。同时在系统变量PATH中增加:C:\strawberry\c;
6) 运行glade3-3.6.7-with-GTK+.exe,目录可以设为 C:\strawberry\Gtk+
7) 拷贝C:\strawberry\Gtk+\lib\pkgconfig\*.pcgc 到 C:\strawberry\c\lib\pkgconfig\ 下面
8) perl-MCPAN -e "force install Glib"
9) perl-MCPAN -e "install Gtk2"
10) perl -MCPAN -e "Gtk2-GladeXML"
3.测试下面代码:
#!C:/strawberry/perl/bin -w
use strict;
use FileHandle;
use utf8;
use 5.010;
# 把复杂数据结构打印到屏幕上(经改造以后可支持双
字节字符)
use Data::Dumper;
$Data::Dumper::Useperl =1; # 关键
package Data::Dumper;
sub qquote{
local $_= shift;
returnqq('$_');
}
use Encode;
use Encode::CN;
binmode(STDOUT, ":encoding(gbk)");
binmode(STDIN, ":encoding(gbk)");
binmode(STDERR, ':encoding(gbk)');
use Gtk2;
Gtk2 -> init; # 程序的初始化,在任何 Gtk2-perl程序中,我们都必须先初始化
use Gtk2::GladeXML;
my $gladexml =Gtk2::GladeXML->new('example.glade');
$gladexml->signal_autoconnect_from_package('main');
my $quitbtn = $gladexml->get_widget('Quit');
Gtk2->main;
4. 运行结果:
弹出如上的对窗口,成功
