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"
修改prefix的小脚本
复制代码
修改文件名的小脚本
复制代码
以下假定
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"

修改prefix的小脚本
- #!/bin/env perl
-
- use strict;
- use warnings;
-
- my $prefix = "C:/strawberry/c";
- local @ARGV = glob("C:\\GTK\\lib\\pkgconfig\\*.pc");
- local $^I = ".bak";
-
- while (<>)
- {
- s/^prefix=.*/prefix=$prefix/;
- print;
- }
-
- foreach my $bak_file (glob("C:\\GTK\\lib\\pkgconfig\\*.pc.bak"))
- {
- unlink($bak_file);
- }
- #!/bin/env perl
-
- use strict;
- use warnings;
-
- my @files = glob("C:\\GTK\\lib\\*.dll.a");
- foreach my $file (@files)
- {
- my $new_file = $file;
- $new_file =~ s/([^\/\\]*)\.dll.a$/$1.a/g;
- rename($file, $new_file);
- }
作者: 黑色阳光_cu 发布时间: 2010-12-12
本帖最后由 perlnewbie 于 2011-07-06 16:55 编辑

哥哥,为什么我下载下来的是MP4文件?里面放乾清宫。。。。晕。。。
现在gtk2模块在xp下还是没装上。。。。。。。

哥哥,为什么我下载下来的是MP4文件?里面放乾清宫。。。。晕。。。
现在gtk2模块在xp下还是没装上。。。。。。。


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

看来下载工具也有问题
作者: perlnewbie 发布时间: 2011-07-06
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28