+ -
当前位置:首页 → 问答吧 → Strawberry下编译Gtk2的方法

Strawberry下编译Gtk2的方法

时间:2010-12-12

来源:互联网

本帖最后由 黑色阳光_cu 于 2010-12-12 10:06 编辑

以下假定
Strawberry路径为C:\Strawberry,
GTK+ runtime路径为C:\GTK。

1 http://gladewin32.sourceforge.net/
下载Gtk+ 2.12.9 Development Environment Revision 2 (17,172KB),假定安装在C:\GTK
2 Set environment variable, set PKG_CONFIG_PATH=C:\GTK\lib\pkgconfig;C:\strawberry\c\lib\pkgconfig
3 Extract all downloaded zip package to GTK+ runtime's directory.
4 Modify perfix=xxx to your strawberry installation directory like: c:/strawberry/c
5 Rename xxx.dll.a in the extracted files to xxx.a (so -lxxx can recognize this library)
6 解压缩第一步中的包,找到lib\pkgconfig\pangocairo.pc这个文件,将Libs:这行修改为
   Libs: -L${libdir} -lpangocairo-1.0 ${prefix}/../perl/site/lib/auto/Cairo/Cairo.a
   原因是Cairo.a 会被Perl 模块:Pango和Gtk2引用,不包含编译时会报一些函数找不到的错误。
7 perl -MCPAN -e "force install Gtk2"

下载 (35.21 KB)
2010-12-12 10:00


修改prefix的小脚本
  1. #!/bin/env perl

  2. use strict;
  3. use warnings;

  4. my $prefix = "C:/strawberry/c";
  5. local @ARGV = glob("C:\\GTK\\lib\\pkgconfig\\*.pc");
  6. local $^I = ".bak";

  7. while (<>)
  8. {
  9.         s/^prefix=.*/prefix=$prefix/;
  10.         print;
  11. }

  12. foreach my $bak_file (glob("C:\\GTK\\lib\\pkgconfig\\*.pc.bak"))
  13. {
  14.         unlink($bak_file);
  15. }
复制代码
修改文件名的小脚本
  1. #!/bin/env perl

  2. use strict;
  3. use warnings;

  4. my @files = glob("C:\\GTK\\lib\\*.dll.a");
  5. foreach my $file (@files)
  6. {
  7.         my $new_file = $file;
  8.         $new_file =~ s/([^\/\\]*)\.dll.a$/$1.a/g;
  9.         rename($file, $new_file);
  10. }
复制代码

作者: 黑色阳光_cu   发布时间: 2010-12-12

本帖最后由 perlnewbie 于 2011-07-06 16:55 编辑



哥哥,为什么我下载下来的是MP4文件?里面放乾清宫。。。。晕。。。
现在gtk2模块在xp下还是没装上。。。。。。。
下载 (10.85 KB)
2011-07-06 16:50



下载 (22.82 KB)
2011-07-06 16:55

作者: perlnewbie   发布时间: 2011-07-06


看来下载工具也有问题

作者: perlnewbie   发布时间: 2011-07-06