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、付费专栏及课程。

余额充值