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

作者: csbde 分类: Other 发布时间: 2009-01-08 10:05

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插件

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

]]>

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

9条评论
  • legion

    2009年8月18日 上午10:20

    多谢!

  • legion

    2009年10月18日 下午2:18

    这两天一直发不出信息(xp/pidgin2.6.1.0/fetion你编的插件), 后来上中国移动的飞信, 貌似协议启用证书加密了..

    1. 九王爷

      2009年11月20日 上午8:56

      应该是版本不对吧,我没试过。不过,我在2.6.2是没问题的

  • 九王爷

    2009年11月16日 下午2:38

    又编译了下最新的fetion插件,可以正常使用

  • Q农

    2009年11月18日 下午4:47

    已经达到忘我的境界了,呵呵

  • 淘男

    2009年11月18日 下午11:21

    好久不来了,最近更新搞的不错啊~赞一个~

  • Sender

    2009年11月20日 上午8:51

    先谢谢博主的劳动,不过我想问,最新的libfetion.dll在pidgin 2.6.3下面无法登录(Invalid Password or Mobileno),间或还会导致pidgin崩溃,是否pidgin版本不对?

  • 九王爷

    2009年11月21日 下午3:30

    @淘男
    谢谢

  • 软件开发

    2009年11月24日 上午2:44

    博客文采写的太好了,大家一定很喜欢。

发表评论

电子邮件地址不会被公开。 必填项已用*标注