window下libjingle的编译方法

相信看到这篇博客的同学,一定已经在google上下载了libjingle的源代码,但是苦于编译连接不成功,偶然的机会接触到libjingle,闲暇的时候,我开始研究libjingle。但编译起来还是费了一些周折的,现在就都拿出来和大家分享一下。我使用的是libjingle-0.6.14。google提供使用score进行编译的方法。这在其readme文件中也已经有了说明。但是我试了很多次还是不能成功,最后在网上搜索了很长时间之后,才找到了解决的方法,现说明如下:
1、准备过程
下载libjingle-0.6.14、python2.7(只能使用2.4之后,3.0之前的版本,否则score不能支持)
下载scons,readme上说要2.0之后的,但是score2.1、2.2似乎都不能使用,只能用2.0的版本(这可能是因为google是基于scons2.0开发的swootlkit的缘故)
下载expat and srtp(都要是源码)
下载readme中其他相关软件
2、按照readme添加环境变量
3、按google的方法编译所有文件
4、用vs2008编译login例子
google提供了使用swootlkit生成vs工程文件的方法,但其内部还是使用的命令行swootlkit进行的编译
这里我新建了一个工程将例子login文件夹下的文件全部拷贝过去,在vs中设置include、lib包含目录指向libjingle-0.6.14的位置
根据bulid.scons中编译的命令
talk.App(env, name = "login" ,
          libs = [
            "jingle" ,
            "expat" ,
            "xmpphelp" ,
          ],
          srcs = [
            "examples/login/xmppthread.cc" ,
            "examples/login/login_main.cc" ,
          ],
          posix_libs = [
            "crypto" ,
            "ssl" ,
          ],
          lin_libs = [
            "videorenderer" ,
          ],
)
可知,还需要包含库文件 "jingle" , "expat" , "xmpphelp" ,全部拷贝过去,并包含在工程中
另外,根据google,在vs中单独编译libjingle还需要ws2_32.lib、Secur32.lib、Crypt32.lib、Iphlpapi.lib四个库文件,全部包含进去
之后,在main.scons中发现如下代码
win_dbg_env.Prepend(
   CCFLAGS = [
     '/ZI' ,     # enable debugging
     '/Od' ,     # disable optimizations
     '/MTd' ,    # link with LIBCMTD.LIB debug lib
     '/RTC1' ,   # enable runtime checks
   ],
)
可知,libjingle使用MTd模式编译,在vs中设置一下,并忽略libc.lib、libcmt.lib、msvcrt.lib、libcd.lib、msvcrtd.lib库
编译连接通过
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值