XP下简单编译pidgin的fetion插件(2009-11-16版)

1月5日,移动升级了,结果pidgin里的fetion插件不能用了,赶紧到gradetwo 老大的专贴看看,果然是更新了,gradetwo 老大速度一流

因为没有编译好的包,只好自己抓了源代码下来自己编译,按照pidgin官方在windows编译指南里面的吧一些依赖包安装好,开始编译……但好像有问题:

我在mingw下 gcc.exe (GCC) 3.4.5 (mingw-vista special r3) 编译通不过,不知道什么原因

gcc.exe -shared fetion.o sipmsg.o -L../../../../win32-dev/gtk_2_0/lib -L../../../libpurple -lglib-2.0 -lws2_32 -lintl -lpurple -Wl,–enable-auto-image-base -o libfetion.dll

fetion.o: In function `send_sip_request’:

h:/Learn/Pidgin/pidgin-2.5.3/pidgin/plugins/fetion/fetion.c:462: undefined reference to `gencallid’

fetion.o: In function `fetion_im_send’:

h:/Learn/Pidgin/pidgin-2.5.3/pidgin/plugins/fetion/fetion.c:540: undefined reference to `fetion_send_message’

fetion.o: In function `process_register_response’:

h:/Learn/Pidgin/pidgin-2.5.3/pidgin/plugins/fetion/fetion.c:591: undefined reference to `fill_auth’

h:/Learn/Pidgin/pidgin-2.5.3/pidgin/plugins/fetion/fetion.c:608: undefined reference to `do_register’

h:/Learn/Pidgin/pidgin-2.5.3/pidgin/plugins/fetion/fetion.c:559: undefined reference to `GetPersonalInfo’

h:/Learn/Pidgin/pidgin-2.5.3/pidgin/plugins/fetion/fetion.c:562: undefined reference to `GetContactList’

h:/Learn/Pidgin/pidgin-2.5.3/pidgin/plugins/fetion/fetion.c:563: undefined reference to `GetContactList’

fetion.o: In function `fetion_input_cb’:

h:/Learn/Pidgin/pidgin-2.5.3/pidgin/plugins/fetion/fetion.c:772: undefined reference to `process_incoming_message’

h:/Learn/Pidgin/pidgin-2.5.3/pidgin/plugins/fetion/fetion.c:776: undefined reference to `process_incoming_BN’

h:/Learn/Pidgin/pidgin-2.5.3/pidgin/plugins/fetion/fetion.c:781: undefined reference to `process_incoming_invite’

h:/Learn/Pidgin/pidgin-2.5.3/pidgin/plugins/fetion/fetion.c:657: undefined reference to `parse_from’

h:/Learn/Pidgin/pidgin-2.5.3/pidgin/plugins/fetion/fetion.c:825: undefined reference to `fill_auth’

h:/Learn/Pidgin/pidgin-2.5.3/pidgin/plugins/fetion/fetion.c:826: undefined reference to `auth_header’

h:/Learn/Pidgin/pidgin-2.5.3/pidgin/plugins/fetion/fetion.c:872: undefined reference to `fill_auth’

h:/Learn/Pidgin/pidgin-2.5.3/pidgin/plugins/fetion/fetion.c:873: undefined reference to `auth_header’

fetion.o: In function `fetion_close’:

h:/Learn/Pidgin/pidgin-2.5.3/pidgin/plugins/fetion/fetion.c:1139: undefined reference to `do_register_exp’

fetion.o: In function `fetion_actions’:………………………….

联系了gradetwo 老大,说没在windows下编译过,看来还得自己动手.看上面的字面意思就知道是文件有没有编译的,查看makefile.mingw 瀑布汗一个,里面只编译了两个文件,不知道是什么原因?自己动手把所有的文件添加到编译里面,发现好像又出错了,信息如下

f_smiley.c:27: warning: no previous prototype for ‘fetion_got_custom_smiley’

f_smiley.c: In function ‘fetion_got_custom_smiley’:

f_smiley.c:33: error: ‘slpcall’ undeclared (first use in this function)

f_smiley.c:33: error: (Each undeclared identifier is reported only once

f_smiley.c:33: error: for each function it appears in.)

f_smiley.c:38: error: ‘data’ undeclared (first use in this function)

f_smiley.c:38: error: ‘size’ undeclared (first use in this function)

f_smiley.c: At top level:

f_smiley.c:44: warning: no previous prototype for ‘fetion_got__chat’

f_smiley.c: In function ‘fetion_got__chat’:

f_smiley.c:46: error: ‘conv’ undeclared (first use in this function)

f_smiley.c:46: error: ‘who’ undeclared (first use in this function)

f_smiley.c:47: error: ‘session’ undeclared (first use in this function)

f_smiley.c:53: error: ‘smile’ undeclared (first use in this function)

f_smiley.c:53: error: ‘sha1’ undeclared (first use in this function)

f_smiley.c:54: error: implicit declaration of function ‘fetion_request_custom_smiley’

f_smiley.c:54: warning: nested extern declaration of ‘fetion_request_custom_smil

…………………………………..

很显然是f_smailey出错了,查看文件说明,这东西居然没出现在说明文件中,再瀑布汗一个,明显是一个新功能,估计是测试用的.直接删掉

现在看makefile.mingw 里编译的东东有:

SOURCES, OBJECTS

##

C_SRC = f_buddy.c \

f_chat.c \

f_gchat.c \

f_group.c \

f_login.c \

f_portrait.c \

f_sysmsg.c \

f_user.c \

f_util.c \

f_zone.c \

fetion.c

sipmsg.c

拷贝过去,确实不错,又可以开心的开始pidgin之旅了

再次感谢gradetwo 提供的好软件

顺便把编译好的插件(libfetion.dll. libfetion,只能用在XP下哦)放这里,以便不想自己编译的同志们使用libfetion插件

更新了下,这两天使用不顺手,就用最新的版本编译了下,放在这里,有需要的下