-
Notifications
You must be signed in to change notification settings - Fork 185
Install From Source
从0.3.0版本开始,pidgin-lwqq和lwqq库已经完全分离,但是lwqq的API依然经常改动. 首先需要从 lwqq 按照wiki编译安装
安装下列软件包(注意你的发行版可能使用与此不同的包名)
gcc g++ make cmake pkg-config glib(开发包) libpurple(开发包) lwqq(源代码编译)
可选包(通常提供了更好的性能,推荐安装)
js(开发包) libev(开发包)
在 Ubuntu/Debian 上,可以用以下命令安装
$ sudo apt-get install build-essential cmake pkg-config libglib2.0-dev \
libpurple-dev
注意编译需要 libpurple>=2.8。推荐使用 curl>=7.22.0,否则图片收发可能有问题。
在 Fedora 上,可以用以下命令安装
$ sudo yum install gcc gcc-c++ make cmake pkgconfig glib-devel libpurple-devel
请添加 gentoo-zh overlay
$ layman -a gentoo-zh
然后直接全自动编译:
$ emerge pidgin-lwqq
安装master分支,可以用git clone,或者是下载源码zip包
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install
安装dev分支,可以从 dev 下载, 或者使用下面的命令
...
$ git clone https://github.com/xiehuc/pidgin-lwqq.git
$ git checkout -b dev origin/dev
...
请确保自己真正理解了每步的含义,如果不能,请自行google。
由于把大部分功能都移到了lwqq中了,所以需要仔细阅读下lwqq的编译选项 编译成功以后会出现如下的提示:需要特别注意
===============pidgin-lwqq flags===============
-- Native Language Support : true
-- Install Path : /usr/lib/purple-2
===============================================
- Native Laguage Support: 编译多语言支持,会自动检测是否有gettext环境并自动启用,可以通过 -DNLS=Off来强制关闭
- Install Path: 自动检测purple-2的安装目录。无需再使用CMAKE_INSTALL_PREFIX宏
可以使用cmake .. -DWITH_{...}
来强制打开关闭特性
- 下载adium的源代码并且使用
xcodebuild -configuration Debug
来编译adium - 使用brew安装sqlite3,zlib,curl,spidermonkey的开发包
brew install sqlite3 zlib curl spidermonkey
- 从 lwqq 按照编译 framework 的方式来编译. 并将生成的 lwqq.framework 拷贝到 源代码目录下得adium中.
- 使用cmake生成config.h,步骤内容同上面Linux部分,除了
make
和make install
两步 - 用xcode打开
pidgin-lwqq/adium/adium-lwqq.xcodeproj
然后编译。保持adium源码的目录和pidgin-lwqq的源码目录如下的结构:
├── adium ├── lwqq └── pidgin-lwqq ── adium ── lwqq.framework
- 参考lwqq/wiki配置好编译环境
- 下载lwqq并放在
lwqq_root/lwqq
目录下并编译- 新建的文件夹必须为build,查找路径是写死了的
- 使用
cmake .. -G "MSYS Makefiles" -DWIN32_LIBS_DIR=... -DWITH_LIBUV=Off -DWITH_LIBEV=Off
编译.因为异步直接使用pidgin内置的支持来完成
- 从这里下载pidgin的源代码,并且解压缩到
lwqq_root/pidgin
目录下,根据BuildWinPidgin编译Windows版本的Pidgin(其实主要是为了获取libpurple)- 一些包的名字有问题,应该是源代码不是最新的缘故:nss的那个包文件夹名字为nss-3.13.6-nspr-4.9.2以及pidgin-inst-deps-20120910
- 在win8下编译,会因为wstcpip和winsock的冲突,导致无法编译,需要调整include的顺序:将
#include "internal.h"
放在#include <windows.h>
前面,在以下文件中-
pidgin/win32/gtkdocklet-win32.c
-
pidgin/win32/gtkwin32dep.c
-
pidgin/win32/wspell.c 在
#include <windows.h>
前面添加#include "internal.h"
-
pidgin/plugins/win32/winprefs/winprefs.c 将
#include "internal.h"
放在#include <gtk/gdkwin32.h>
前面 -
为了方便可以直接将下面的文本复制为patch.sh,放在pidgin目录下并用
sh patch.sh
来自动替换:sed -i '0,/^#include.*/s//#include "internal.h"\n&/' \ pidgin/win32/gtkdocklet-win32.c \ pidgin/win32/gtkwin32dep.c \ pidgin/win32/wspell.c \ pidgin/plugins/win32/winprefs/winprefs.c
-
- 在这里下载并解压缩到win32-dev中
- 使用
make -f Makefile.mingw install
编译
- 在第2步中就会获取glib的依赖,所以这里不用再做什么.
- 在这里下载spider monkey的mingw32预编译好的包,解压缩到win32-dev/js-1.8.5-mingw32目录下.
- 需要使用在上面提供的依赖的压缩包文件,如果是随意复制其它来源的dll(如pthreadGC2.dll会导致这些dll依赖libgccsw***.dll 从而使得静态链接的libwebqq.dll失效,直接导致了pidgin退出的时候出现异常错误)
也可以直接下载整理好的傻瓜包中的pidgin-dependencies.7z和pidgin-lwqq-dependencies.7z直接解压缩到win32-dev中,pidgin源代码中需要修改的文件放在了pidgin-dependencies/pidgin目录下了。
打开一个MinGW Shell,进入lwqq_root
目录,输入
git clone https://github.com/xiehuc/pidgin-lwqq.git
git submodule init
git submodule update
cd pidgin-lwqq
mkdir build;cd build
cmake .. -G "MSYS Makefiles" -DWIN32_LIBS_DIR=`lwqq_root/win32-dev`的绝对路径 -DPACKAGE=ZIP
make
最后,就可以在build/src
目录下获得libwebqq.dll.
PACKAGE
选项可以自动打包成zip文件,使用make package
之后可以在build
目录下获得zip包
将制作的zip包解压缩到pidgin的根目录即可。执行pidgin就可以在协议中看到WebQQ协议了。