摘自:巴蛮子的新破茅屋
准备工具: mingw, msys
源代码: gaim-1.0.0, openq-0.3-p3
头/库文件: gtk2, aspell, gtkspell, nspr, nss, perl58, tcl
如果要制作安装包还得需要NSIS
另外需要几个补丁
编译方法:
1.从<http://sourceforge.net/projects/tcl下载并安装msys_mingw,这个包包含了一个简单的 POSIX环境和Mingw GCC (gaim的网页上说要下载安装Cygwin,这并没有必要; 而且上述包已经自带了mingw).;
2.安装msys_mingw, 并运行msys.bat,这将打开一个rxvt会话窗口。
3.从http://sourceforge.net/projects/gaim下载gaim-1.0.0的源代码,解压到msys的某个目录(假定为~/wingaim_building/)
cd ~/wingaim_building
tar jxf /path/to/gaim-1.0.0.tar.bz2
4.按照<http://gaim.sourceforge.net/win32/build.php上面的说明,下载gtk2, aspell, gtkspell, nspr, nss, perl58, tcl的头文件和库文件,解压到wingaim_building/win32-dev/;
5.因为OpenQ使用了regex库,需要到http://sourceforge.net/projects/gnuwin32下载regex-0.12-bin.zip和regex-0.12-lib.zip,前者留着最后运行时使用,后者也解压到wingaim_building/win32-dev/;
6.在gaim-1.0.0源代码目录中补上OpenQ-0.3-p3的源代码 (这部分代码是我从OpenQ-0.3-p3 的完整源代码中提取出来的,对应gaim-0.79)
cd ~/wingaim_buiding/gaim-1.0.0
tar zxvf /path/to/openq-0.3-p3-src.tar.gz
7.对gaim-1.0.0的代码打补丁[补丁]。主要包含两类补丁,一类是对gaim- 1.0.0源代码针对openq的少量修改
cd ~/wingaim_buiding/gaim-1.0.0
patch-p1 -b < gaim-0.79-qq-0.3.config.patch (修改configure)
patch -p1 -b < gaim-0.79-qq-0.3.makefile.mingw.patch (修改Makefile.mingw)
patch -p1 -b < gaim-1.0.0-qq-0.3.po.patch (修改zh_CN.po)
8.另一类是补丁是因为: OpenQ-0.3是在gaim-0.79上发布的,而gaim-1.0发布时修改了一些插件接口,所以要做相应更改
cd ~/wingaim_buiding/gaim-1.0.0
patch -p1 -b < openq-0.3-gaim-0.79to1.0.0.patch
9.开始编译
如果你有ActivePerl-5.8,修改gaim- 1.0.0/plugins/perl/common/Makefile.mingw 中PERL和EXTUTILS两项使之指向perl安装的位置;如果你没有ActivePerl-5.8, 需要将gaim-1.0.0/plugins/Makefile.mingw中与PERL_PLUGIN_LOADER相关的行删除
cd ~/wingaim_buiding/gaim-1.0.0
make -f Makefile.mingw
10.安装
制作安装包
cd ~/wingaim_buiding/gaim-1.0.0
make -f Makefile.mingw install
然后需要加上OpenQ的数据文件,即人头图标、笑脸图标和IP数据,这些包含在OpenQ-0.3的源代码包中。如果你下载了我在前面提供的data.zip,可以直接解压到win32-install-dir中; 另外OpenQ需要regex.dll拷贝到win32-install-dir目录
如果需要perl插件,将perl58.dll也拷贝过去
-------------------------------------------------------------
目前还存在的问题: 一点击 "获取信息", gaim就崩溃(cygwin版本就没有这个问题)
相关信息整理在:
http://www.oliwen.com/bamanzi/gnu/gaim/win32/readme.html
另外也试了一下cygwin版本移植,比较简单。问题是在一个版本的gtk2上编译后在另外一个版本上运行就会出错,根本启动不了。不知道怎么回事,所以patch也没敢往主页上放。
准备工具: mingw, msys
源代码: gaim-1.0.0, openq-0.3-p3
头/库文件: gtk2, aspell, gtkspell, nspr, nss, perl58, tcl
如果要制作安装包还得需要NSIS
另外需要几个补丁
编译方法:
1.从<http://sourceforge.net/projects/tcl下载并安装msys_mingw,这个包包含了一个简单的 POSIX环境和Mingw GCC (gaim的网页上说要下载安装Cygwin,这并没有必要; 而且上述包已经自带了mingw).;
2.安装msys_mingw, 并运行msys.bat,这将打开一个rxvt会话窗口。
3.从http://sourceforge.net/projects/gaim下载gaim-1.0.0的源代码,解压到msys的某个目录(假定为~/wingaim_building/)
cd ~/wingaim_building
tar jxf /path/to/gaim-1.0.0.tar.bz2
4.按照<http://gaim.sourceforge.net/win32/build.php上面的说明,下载gtk2, aspell, gtkspell, nspr, nss, perl58, tcl的头文件和库文件,解压到wingaim_building/win32-dev/;
5.因为OpenQ使用了regex库,需要到http://sourceforge.net/projects/gnuwin32下载regex-0.12-bin.zip和regex-0.12-lib.zip,前者留着最后运行时使用,后者也解压到wingaim_building/win32-dev/;
6.在gaim-1.0.0源代码目录中补上OpenQ-0.3-p3的源代码 (这部分代码是我从OpenQ-0.3-p3 的完整源代码中提取出来的,对应gaim-0.79)
cd ~/wingaim_buiding/gaim-1.0.0
tar zxvf /path/to/openq-0.3-p3-src.tar.gz
7.对gaim-1.0.0的代码打补丁[补丁]。主要包含两类补丁,一类是对gaim- 1.0.0源代码针对openq的少量修改
cd ~/wingaim_buiding/gaim-1.0.0
patch-p1 -b < gaim-0.79-qq-0.3.config.patch (修改configure)
patch -p1 -b < gaim-0.79-qq-0.3.makefile.mingw.patch (修改Makefile.mingw)
patch -p1 -b < gaim-1.0.0-qq-0.3.po.patch (修改zh_CN.po)
8.另一类是补丁是因为: OpenQ-0.3是在gaim-0.79上发布的,而gaim-1.0发布时修改了一些插件接口,所以要做相应更改
cd ~/wingaim_buiding/gaim-1.0.0
patch -p1 -b < openq-0.3-gaim-0.79to1.0.0.patch
9.开始编译
如果你有ActivePerl-5.8,修改gaim- 1.0.0/plugins/perl/common/Makefile.mingw 中PERL和EXTUTILS两项使之指向perl安装的位置;如果你没有ActivePerl-5.8, 需要将gaim-1.0.0/plugins/Makefile.mingw中与PERL_PLUGIN_LOADER相关的行删除
cd ~/wingaim_buiding/gaim-1.0.0
make -f Makefile.mingw
10.安装
制作安装包
cd ~/wingaim_buiding/gaim-1.0.0
make -f Makefile.mingw install
然后需要加上OpenQ的数据文件,即人头图标、笑脸图标和IP数据,这些包含在OpenQ-0.3的源代码包中。如果你下载了我在前面提供的data.zip,可以直接解压到win32-install-dir中; 另外OpenQ需要regex.dll拷贝到win32-install-dir目录
如果需要perl插件,将perl58.dll也拷贝过去
-------------------------------------------------------------
目前还存在的问题: 一点击 "获取信息", gaim就崩溃(cygwin版本就没有这个问题)
相关信息整理在:
http://www.oliwen.com/bamanzi/gnu/gaim/win32/readme.html
另外也试了一下cygwin版本移植,比较简单。问题是在一个版本的gtk2上编译后在另外一个版本上运行就会出错,根本启动不了。不知道怎么回事,所以patch也没敢往主页上放。