【技术应用】vs2010 下编译 libjingle 库

摘要:
想了好多个方案,最让我动心的是使用silverligth技术做前端,自己架设一个服务器,可是在钱途不明朗的情况下,不敢贸然买个服务器,网上又没有找到可免费或租用的服务器,此方案只能暂缓思考筛选N多个方案后,我对gtalk感上了兴趣,google大公司的背景,我可以放心的去折腾Libjingle-GoogleTalkVoice及P2P的交互操作函数库Libjingle是Google提供的C++组件集,它为GoogleTalk的点对点通讯与语音呼叫功能提供交互操作性。组件包包括了Jingle和Jingle-Audio的google实现的源代码,它们是XMPP标准的推荐扩展。

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

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

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

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

想了好多个方案,最让我动心的是使用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',

root_env=Environment(
tools
=[
'component_bits',
'component_setup',
'replace_strings',
'talk_noops',
#
'talk_linux',
],
BUILD_SCONSCRIPTS
=components,
DESTINATION_ROOT
='$MAIN_DIR/build',
CPPPATH
=[
'$OBJ_ROOT',#generatedheadersarerelativetohere
'$MAIN_DIR/..',#TODO:howcanweuseGOOGLECLIENTinstead?
],
CPPDEFINES
=[
#Tempflag
whileportingtohammer.
'HAMMER_TIME=1',
'LOGGING=1',
#Featureselection
'FEATURE_ENABLE_SSL',
'FEATURE_ENABLE_VOICEMAIL',
'FEATURE_ENABLE_PSTN',
'HAVE_SRTP',
],
TARGET_ARCH
='x86',
)

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

# '/WX', # warnings are errors

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

# Solution and target projects
s = vs_env.ComponentVSSolution(
# 'libjingle', # Please uncomment this line if you build VS proj files.
['all_libraries', 'all_programs', 'all_test_programs'],
projects = [p],
)

改为

# Solution and target projects
s = vs_env.ComponentVSSolution(
'libjingle', # Please uncomment this line if you build VS proj files.
['all_libraries', 'all_programs', 'all_test_programs'],
projects = [p],

)

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/

免责声明:文章转载自《【技术应用】vs2010 下编译 libjingle 库》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇KBEngine 学习笔记C# 使用Lazy 懒加载下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章