- 浏览: 1481553 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (419)
- XMPP (19)
- Android (180)
- Java (59)
- Network (4)
- HTML5 (13)
- Eclipse (9)
- SCM (23)
- C/C++ (4)
- UML (4)
- Libjingle (15)
- Tools&Softwares (29)
- Linphone (5)
- Linux&UNIX (6)
- Windows (18)
- Google (10)
- MISC (3)
- SIP (6)
- SQLite (5)
- Security (4)
- Opensource (29)
- Online (2)
- 文章 (3)
- MemoryLeak (10)
- Decompile (5)
- Ruby (1)
- Image (1)
- Bat (4)
- TTS&ASR (28)
- Multimedia (1)
- iOS (20)
- Asciiflow - ASCII Flow Diagram Tool.htm (1)
- Networking (1)
- DLNA&UPnP (2)
- Chrome (2)
- CI (1)
- SmartHome (0)
- CloudComputing (1)
- NodeJS (3)
- MachineLearning (2)
最新评论
-
bzhao:
点赞123!
Windows的adb shell中使用vi不乱码方法及AdbPutty -
wahahachuang8:
我觉得这种东西自己开发太麻烦了,就别自己捣鼓了,找个第三方,方 ...
HTML5 WebSocket 技术介绍 -
obehavior:
view.setOnTouchListenerview是什么
[转]android 一直在最前面的浮动窗口效果 -
wutenghua:
[转]android 一直在最前面的浮动窗口效果 -
zee3.lin:
Sorry~~
When I build "call ...
Step by Step about How to Build libjingle 0.4
Libjingle版本: 0.5.2
操作系统: Windows XP
编译器: Microsoft Visual C++ 2008 Express
具体可以参考README:
http://code.google.com/p/libjingle/source/browse/trunk/README
这里将根据我自己的环境以及遇到的问题进行总结.
1. 安装Python 2.4或者之后的版本. 因为swtoolkit只能工作在Python 2.x版本, 所以不能安装Python 3.x版本.
下载位置: http://www.python.org/
2. 安装scons-local 2.0.0或者之后的版本. 设置环境变量SCONS_DIR指向包含scons-local的目录, 如/src/libjingle/scons-local/scons-local-2.0.0.final.0/
注意SCONS_DIR指向的目录不是你下载的scons-local包直接解压缩后的目录 (这个目录包括scons.py, scons-README等文件), 而是里面包含的名为scons-local-x.x.x的子目录
下载位置: http://www.scons.org/download.php
3. 安装swtoolkit
下载位置: http://code.google.com/p/swtoolkit/
4. 下载expat包, 解压缩到talk/third_party/expat-2.0.1/
注意不要下载Win32安装包, 而应该是源代码包
下载位置: http://sourceforge.net/projects/expat/
5. 下载最新的srtp包, 解压缩到talk/third_party/srtp
注意不要使用srtp-1.4.4, 因为这个版本遗漏了Libjingle所使用的一些extensions
下载位置: http://sourceforge.net/projects/srtp/develop
为了省去你使用CVS下载最新srtp代码的麻烦, Libjingle已经上传了最新的srtp包, 下载位置: http://libjingle.googlecode.com/files/srtp-cvs.zip
如果你的expat和srtp包在其他位置或者名称不一样, 需要对应地修改talk/libjingle.scons
6. 进入到talk目录, 运行$path_to_swtoolkit/hammer.bat
将会进行编译, 最终将在talk/build/dbg/lib目录下生成:
expat.lib
libjingle.lib
libsrtp.lib
libxmpphelp.lib
在talk/build/dbg/staging目录下生成:
call.exe
login.exe
relayserver.exe
stunserver.exe
下面是可能遇到的编译问题以及对应的解决方法.
1.
编译错误talk\session\phone\devicemanager.cc(31) : fatal error C1083: Cannot open include file: 'atlbase.h': No such file or directory
解决方法:
1) 安装Platform SDK
下载位置: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a55b6b43-e24f-4ea3-a93e-40c0ec4f68e5
2) 添加c:\Program Files\Microsoft Platform SDK\Include\atl到INCLUDE环境变量中, 在编译Libjingle的同一DOS窗口中执行set INCLUDE=c:\Program Files\Microsoft Platform SDK\Include\atl;%INCLUDE%
Refer to:
http://code.google.com/p/libjingle/issues/detail?id=89
2.
编译错误
c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(91) : error C2220: warning treated as error - no 'object' file generated
c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(206) : error C2011: 'sockaddr' : 'struct' type redefinition
c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(437) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\program files\microsoft sdks\windows\v6.0a\include\winsock2.h(132) : error C2011: 'fd_set' : 'struct' type redefinition
c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(68) : see declaration of 'fd_set'
c:\program files\microsoft sdks\windows\v6.0a\include\winsock2.h(176) : error C2011: 'timeval' : 'struct' type redefinition
c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(111) : see declaration of 'timeval'
......
解决办法:
在devicemanager.cc中#if WIN32宏开始的地方加入
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
在在devicemanager.cc中#if WIN32宏结束之前的地方加入
#include <mmsystem.h>
最后应该如下:
Refer to:
http://code.google.com/p/libjingle/issues/detail?id=89
http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/671124df-c42b-48b8-a4ac-3413230bc43b
3.
Link错误
________Linking build\dbg\obj\call.exe
LINK : fatal error LNK1104: cannot open file 'atlthunk.lib'
解决办法:
找到atlbase.h, 注释掉#pragma comment(lib, "atlthunk.lib")
Refer to:
http://code.google.com/p/libjingle/issues/detail?id=89
操作系统: Windows XP
编译器: Microsoft Visual C++ 2008 Express
具体可以参考README:
http://code.google.com/p/libjingle/source/browse/trunk/README
这里将根据我自己的环境以及遇到的问题进行总结.
1. 安装Python 2.4或者之后的版本. 因为swtoolkit只能工作在Python 2.x版本, 所以不能安装Python 3.x版本.
下载位置: http://www.python.org/
2. 安装scons-local 2.0.0或者之后的版本. 设置环境变量SCONS_DIR指向包含scons-local的目录, 如/src/libjingle/scons-local/scons-local-2.0.0.final.0/
注意SCONS_DIR指向的目录不是你下载的scons-local包直接解压缩后的目录 (这个目录包括scons.py, scons-README等文件), 而是里面包含的名为scons-local-x.x.x的子目录
下载位置: http://www.scons.org/download.php
3. 安装swtoolkit
下载位置: http://code.google.com/p/swtoolkit/
4. 下载expat包, 解压缩到talk/third_party/expat-2.0.1/
注意不要下载Win32安装包, 而应该是源代码包
下载位置: http://sourceforge.net/projects/expat/
5. 下载最新的srtp包, 解压缩到talk/third_party/srtp
注意不要使用srtp-1.4.4, 因为这个版本遗漏了Libjingle所使用的一些extensions
下载位置: http://sourceforge.net/projects/srtp/develop
为了省去你使用CVS下载最新srtp代码的麻烦, Libjingle已经上传了最新的srtp包, 下载位置: http://libjingle.googlecode.com/files/srtp-cvs.zip
如果你的expat和srtp包在其他位置或者名称不一样, 需要对应地修改talk/libjingle.scons
6. 进入到talk目录, 运行$path_to_swtoolkit/hammer.bat
将会进行编译, 最终将在talk/build/dbg/lib目录下生成:
expat.lib
libjingle.lib
libsrtp.lib
libxmpphelp.lib
在talk/build/dbg/staging目录下生成:
call.exe
login.exe
relayserver.exe
stunserver.exe
下面是可能遇到的编译问题以及对应的解决方法.
1.
编译错误talk\session\phone\devicemanager.cc(31) : fatal error C1083: Cannot open include file: 'atlbase.h': No such file or directory
解决方法:
1) 安装Platform SDK
下载位置: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a55b6b43-e24f-4ea3-a93e-40c0ec4f68e5
2) 添加c:\Program Files\Microsoft Platform SDK\Include\atl到INCLUDE环境变量中, 在编译Libjingle的同一DOS窗口中执行set INCLUDE=c:\Program Files\Microsoft Platform SDK\Include\atl;%INCLUDE%
Refer to:
http://code.google.com/p/libjingle/issues/detail?id=89
2.
编译错误
c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(91) : error C2220: warning treated as error - no 'object' file generated
c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(206) : error C2011: 'sockaddr' : 'struct' type redefinition
c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(437) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
c:\program files\microsoft sdks\windows\v6.0a\include\winsock2.h(132) : error C2011: 'fd_set' : 'struct' type redefinition
c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(68) : see declaration of 'fd_set'
c:\program files\microsoft sdks\windows\v6.0a\include\winsock2.h(176) : error C2011: 'timeval' : 'struct' type redefinition
c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(111) : see declaration of 'timeval'
......
解决办法:
在devicemanager.cc中#if WIN32宏开始的地方加入
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
在在devicemanager.cc中#if WIN32宏结束之前的地方加入
#include <mmsystem.h>
最后应该如下:
#if WIN32 #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN #endif #include <atlbase.h> #include <dbt.h> #include <strmif.h> // must come before ks.h #include <ks.h> #include <ksmedia.h> #define INITGUID // For PKEY_AudioEndpoint_GUID #include <mmdeviceapi.h> #include <functiondiscoverykeys_devpkey.h> #include <uuids.h> #include "talk/base/win32.h" // ToUtf8 #include "talk/base/win32window.h" #include <mmsystem.h> #elif OSX
Refer to:
http://code.google.com/p/libjingle/issues/detail?id=89
引用
12. Added #include <mmsystem.h> to line 42 of talk\session\phone\devicemanager.cc (Just above the end of the windows tag)
http://social.msdn.microsoft.com/Forums/en/vclanguage/thread/671124df-c42b-48b8-a4ac-3413230bc43b
引用
For historical reasons, the Windows.h header defaults to including the Winsock.h header file for Windows Sockets 1.1. The declarations in the Winsock.h header file will conflict with the declarations in the Winsock2.h header file required by Windows Sockets 2.0. The WIN32_LEAN_AND_MEAN macro prevents the Winsock.h from being included by the Windows.h header.
So, please add:
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
Before "#include <windows.h>". This will tell the compiler to ignore all Winsock 1.1 definitions within windows.h.
So, please add:
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
Before "#include <windows.h>". This will tell the compiler to ignore all Winsock 1.1 definitions within windows.h.
3.
Link错误
________Linking build\dbg\obj\call.exe
LINK : fatal error LNK1104: cannot open file 'atlthunk.lib'
解决办法:
找到atlbase.h, 注释掉#pragma comment(lib, "atlthunk.lib")
Refer to:
http://code.google.com/p/libjingle/issues/detail?id=89
引用
13. Found out which version of atlbase.h the compiler was utilizing (In my case, because of the PATH that I set, the version I used was at c:\Program Files\Microsoft Platform SDK\Include\atl. Edit that file and comment out the line #pragma comment(lib, "atlthunk.lib") which was on or around line 293.
评论
5 楼
郑钻哲
2013-05-15
我出错是:
________Compiling build\dbg\obj\xmpp\mucroomhistorytask.obj
mucroomhistorytask.cc
d:\libjingle\libjingle-0.6.14\talk\xmpp\mucroomhistorytask.cc : error C2220: war
ning treated as error - no 'object' file generated
d:\libjingle\libjingle-0.6.14\talk\xmpp\mucroomhistorytask.cc : warning C4819: T
he file contains a character that cannot be represented in the current code page
(936). Save the file in Unicode format to prevent data loss
scons: *** [build\dbg\obj\xmpp\mucroomhistorytask.obj] Error 2
scons: building terminated because of errors.
不知怎么解决呢?
________Compiling build\dbg\obj\xmpp\mucroomhistorytask.obj
mucroomhistorytask.cc
d:\libjingle\libjingle-0.6.14\talk\xmpp\mucroomhistorytask.cc : error C2220: war
ning treated as error - no 'object' file generated
d:\libjingle\libjingle-0.6.14\talk\xmpp\mucroomhistorytask.cc : warning C4819: T
he file contains a character that cannot be represented in the current code page
(936). Save the file in Unicode format to prevent data loss
scons: *** [build\dbg\obj\xmpp\mucroomhistorytask.obj] Error 2
scons: building terminated because of errors.
不知怎么解决呢?
4 楼
laiyangdeli
2011-02-18
libjingle 0.5.1 does not compile on Windows 7 x64:
________Compiling build\opt\obj\third_party\expat-2.0.1\lib\xmlparse.obj
xmlparse.c
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\crtdefs.h(463) : fatal error C1189: #error : You cannot use 3
2-bit time_t (_USE_32BIT_TIME_T) with _WIN64
scons: *** [build\opt\obj\third_party\expat-2.0.1\lib\xmlparse.obj] Error 2
scons: building terminated because of errors.
解决方法:
As a workaround, you can add the following line after line 62 in the "main.scons" file.
It would be read like this:
....
'HAVE_SRTP',
],
TARGET_ARCH = 'x86',
)
Refer to:
http://code.google.com/p/libjingle/issues/detail?id=78
0.5.2 已经不存在这个为问题.
________Compiling build\opt\obj\third_party\expat-2.0.1\lib\xmlparse.obj
xmlparse.c
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\crtdefs.h(463) : fatal error C1189: #error : You cannot use 3
2-bit time_t (_USE_32BIT_TIME_T) with _WIN64
scons: *** [build\opt\obj\third_party\expat-2.0.1\lib\xmlparse.obj] Error 2
scons: building terminated because of errors.
解决方法:
As a workaround, you can add the following line after line 62 in the "main.scons" file.
It would be read like this:
....
'HAVE_SRTP',
],
TARGET_ARCH = 'x86',
)
Refer to:
http://code.google.com/p/libjingle/issues/detail?id=78
0.5.2 已经不存在这个为问题.
3 楼
laiyangdeli
2011-02-17
回家在Windows 7 (with .NET Framework 4)做build就没有正文中提到的那么多编译/Link问题. 但是需要安装Visual Studio 2010 Professional而不能是Express版.
2 楼
laiyangdeli
2011-02-17
会遇到下面的编译错误:
talk\base\latebindingsymboltable.h(49) : fatal error C1189: #error : Not implemented
scons: *** [build\dbg\obj\base\latebindingsymboltable.obj] Error 2
scons: building terminated because of errors.
在libjingle.scons中注释掉下面2行:
"base/latebindingsymboltable.cc",
"session/phone/libudevsymboltable.cc",
Refer to:
http://code.google.com/p/libjingle/issues/detail?id=121
talk\base\latebindingsymboltable.h(49) : fatal error C1189: #error : Not implemented
scons: *** [build\dbg\obj\base\latebindingsymboltable.obj] Error 2
scons: building terminated because of errors.
解决方法:
在libjingle.scons中注释掉下面2行:
"base/latebindingsymboltable.cc",
"session/phone/libudevsymboltable.cc",
Refer to:
http://code.google.com/p/libjingle/issues/detail?id=121
1 楼
laiyangdeli
2011-02-17
为了去掉下面的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/
"
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/
发表评论
-
[Libjingle代码分析]随记
2011-02-28 15:24 3607call_main.cc的main()方法中创建CallCli ... -
[Libjingle代码分析]Libjingle的线程机制与Android平台的Handler机制相似
2011-02-27 19:55 2626不愧都是Google写的代码, Libjingle用到的Thr ... -
[Libjingle代码分析]对照Jingle的XMPP stanza理解Libjingle的几个关键数据结构
2011-02-27 13:34 35701. SessionManager管理多个Session: ... -
Libjingle代码分析之Thread篇
2011-02-23 14:59 0Libjingle的Thread机制竟然与Android的Ha ... -
Libjingle另一个很隐藏但却很致命的错误 - WSAECONNRESET (10054) Connection reset by peer.
2011-02-20 18:50 5454无论Libjingle 0.4.0还是0.5.2 (相比较0. ... -
Libjingle一个虽小但却很严重的bug - 误导人的SocketAddress构造函数参数名称
2011-02-19 23:47 3347在Libjingle+Linphone for Windows ... -
Build for Libjingle 0.5.2 + Mediastreamer2
2011-02-18 20:01 2751Mediastreamer support in 0.5.0 ... -
RTP Tools
2011-02-18 01:00 1882http://www.cs.columbia.edu/irt/ ... -
Myjingle src code
2011-02-14 22:38 2665. -
终于搞定Windows下Libjingle+Linphone Voice Engine的语音通信
2011-02-14 20:49 4146Libjingle在Windows下的语音引擎默认的是GIPS ... -
[Libjingle 0.4]LibJingle编译指南
2011-02-14 17:24 1972LibJingle (for Ubuntu) 编译指南 ... -
[Libjingle 0.4]编译Libjingle 0.4+Linphone Voice Engine的总结之一
2011-02-14 16:59 2907在Windows下编译Libjingle 0.4+Linpho ... -
Step by Step about How to Build libjingle 0.4
2011-02-12 17:36 52821. Download and Install Visual ... -
libjingle 0.4和0.5版本之间的区别
2011-02-12 15:19 2631我所知道的主要的区别是: 1. Build方式的区别. 0. ... -
决定花点时间研究下libjingle
2011-02-12 15:02 7062Project and Source Code Locatio ...
相关推荐
libjingle 0.6.6、0.6.9以及最新的0.6.10在windows和ubuntu-linux上编译通过,现将编译过程及遇到的一些问题总结分享一下
android需要的libjingle_peerconnection.jar和 arm64-v8a、armeabi-v7a、x86和x86_64下的libjingle_peerconnection_so.so文件
VS2010编译libjingle0.6.2步骤 图文并茂
目前GOOGLECODE上的最新更新删除了libjingle.vcproj文件,采用scons脚本进行编译,增加了学习门槛,本次下载包增加了libjingle.vcproj文件并且已经通过了vs2005编译,方便大家学习使用。 Libjingle - Google Talk ...
libjingle vs2010 编译通过
libjingle0.6.14编译好的.lib
作者:Group ArmTalk 文档:2011-11-30 指导文档内容: 1. Libjingle是什么 2. 怎么获取Libjingle 3. 怎么交叉编译Libjingle(arm-linux-) ...要在ARM架构的嵌入式设备使用libjingle,可以参考该文档进行操作
p2p 技术实现,从中可以学到很多 p2p技术的经验
从官网上复制的libjingle开发者指南和源码索引,你也可以访问一下网站: https://developers.google.com/talk/libjingle/developer_guide
libjingle源码(含GIPS LITE),方便大家编译上传
带GIPS的libjingle source
libjingle0.6.14 版本,p2p学习
libjingle-0.5.1.zip,WebRTC nat打洞专用。
libjingle_peerconnection.jar libjingle_peerconnection.so 2016.8.11 号编译
android Webrtc ( libjingle_peerconnection_builds 包括例子
Libjingle是Google提供的C++组件集,它为Google Talk的点对点通讯与语音呼叫功能提供交互操作性。组件包包括了Jingle和Jingle-Audio的google实现的源代码,它们是XMPP标准的推荐扩展,目前试验版可用。 我们发布此...
vs2015编译通过的带gips及所有必须资源的libjingle工程,本人已经编译成功,可放心下载。
libjingle 中文 手册,很不错的哦,描述的很清楚,还有使用范例