织梦CMS - 轻松建站从此开始!

罗索

vs2010 下编译 libjingle 库

落鹤生 发布于 2013-05-12 19:35 点击:次 
Libjingle是Google提供的C++组件集,它为Google Talk的点对点通讯与语音呼叫功能提供交互操作性。组件包包括了Jingle和Jingle-Audio的google实现的源代码,它们是XMPP标准的推荐扩展。
TAG:

  “每个行业都存在机会,就看你会不会寻找。而要找到这种机会,你只需找到两个人:一个是想花钱的那个人,另一个是想挣钱的那个人”

  由于我朋友公司出了些问题,萌生了写一个行业信息发布平台软件的想法。

  由于对整个过程没有把握, 确切的说,我是那个想挣钱的人,而我对想花钱的那个人没有把握,

  那么,我就利用免费的东西做个吧。

  想了好多个方案,最让我动心的是使用silverligth技术做前端,自己架设一个服务器,可是在钱途不明朗的情况下,不敢贸然买个服务器,网上又没有找到可免费或租用的服务器,此方案只能暂缓

  思考筛选N多个方案后,我对gtalk感上了兴趣,google大公司的背景,我可以放心的去折腾 

  Libjingle - Google Talk Voice及 P2P 的交互操作函数库

  Libjingle是Google提供的C++组件集,它为Google Talk的点对点通讯与语音呼叫功能提供交互操作性。
  组件包包括了Jingle和Jingle-Audio的google实现的源代码,它们是XMPP标准的推荐扩展。
  Google的源码发布基于Berkeley协议,也就是说你可以把它们合并到商业或非商业的软件中并发布。

准备:

  1、 python 2.7.1 

  2、libjingle库

  3、 swtoolkit

  4、 srtp

  5、scons 

  6、vs 2010

  7、windows server 2008 r2 [这是我的系统,其他系统没有测试] 

编译:

  按照ligjingle文档上的说明配置环境,vs 2010命令行编译,

      也可以按照libjingle中,main.scons说明生成vs工程,然后打开工程文件编译 

问题:

  1、 TypeError: object of type 'Dir' has no len():

    python版本的问题,可以换一个版本 

  2、 ligjingle默认scons文件没有对32位,64位进行设置(0.5.1有此问题,0.5.2已经没有此问题了)

    修改 talk目录下的main.scons,root_env加入TARGET_ARCH = 'x86',

  1. root_env = Environment( 
  2.   tools = [ 
  3.     'component_bits'
  4.     'component_setup'
  5.     'replace_strings'
  6.     'talk_noops'
  7.     #'talk_linux', 
  8.   ], 
  9.   BUILD_SCONSCRIPTS = components, 
  10.   DESTINATION_ROOT = '$MAIN_DIR/build'
  11.   CPPPATH = [ 
  12.     '$OBJ_ROOT',     # generated headers are relative to here 
  13.     '$MAIN_DIR/..',  # TODO: how can we use GOOGLECLIENT instead? 
  14.   ], 
  15.   CPPDEFINES = [ 
  16.     # Temp flag while porting to hammer. 
  17.     'HAMMER_TIME=1'
  18.     'LOGGING=1'
  19.  
  20.     # Feature selection 
  21.     'FEATURE_ENABLE_SSL'
  22.     'FEATURE_ENABLE_VOICEMAIL'
  23.     'FEATURE_ENABLE_PSTN'
  24.     'HAVE_SRTP'
  25.   ], 
  26.   TARGET_ARCH = 'x86'

  3、 修改 talk目录下的main.scons,注释掉警告视为错误开关

 # '/WX', # warnings are errors

  4、 修改 talk目录下的main.scons,编译vs工程文件需,把注释掉的放开

  1. # Solution and target projects 
  2. s = vs_env.ComponentVSSolution( 
  3.   # 'libjingle',  # Please uncomment this line if you build VS proj files. 
  4.   ['all_libraries''all_programs''all_test_programs'], 
  5.   projects = [p], 
改为
  1. # Solution and target projects 
  2. s = vs_env.ComponentVSSolution( 
  3.    'libjingle',  # Please uncomment this line if you build VS proj files. 
  4.   ['all_libraries''all_programs''all_test_programs'], 
  5.   projects = [p], 
  6.  
  7. )  

  5、生成vs工程文件, visual studio cmd 进入talk目录下,执行

hammer --mode=all --vsproj 

     6、为了去掉下面的warning, 可以安装pywin32:

"Warning: Unable to load win32file module; using copy instead of hard linking for env.Install().  Is pywin32 present?"

pywin32 - Python Extensions for Windows: http://sourceforge.net/projects/pywin32/files/pywin32/

(ningth)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201305/16624.html]
本文出处:博客园 作者:ningth 原文
顶一下
(1)
25%
踩一下
(3)
75%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容