zoukankan      html  css  js  c++  java
  • 在win32下编译QQ0.3 (with gaim1.0.0)

    摘自:巴蛮子的新破茅屋


    准备工具: 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也没敢往主页上放。

  • 相关阅读:
    显示文件本地文件夹
    Select Dependencies选择依赖项
    搜索小技巧
    783. Minimum Distance Between BST Nodes BST节点之间的最小距离
    5. Longest Palindromic Substring 最长的回文子串
    12. Integer to Roman 整数转罗马数字
    3. Longest Substring Without Repeating Characters 最长的子串不重复字符
    539. Minimum Time Difference 最小时差
    43. Multiply Strings 字符串相乘
    445. Add Two Numbers II 两个数字相加2
  • 原文地址:https://www.cnblogs.com/bgming/p/257011.html
Copyright © 2011-2022 走看看