最近想在本身的p2p系統中整合進I’M,調研的結果,libjingle各方面都符合要求,準備基於libjingle開發本身的I’M系統,第一步,固然是編譯libjingle程序了,可是在網上找了一圈,要麼是語焉不詳,要麼是極其簡單,沒有辦法,只有本身一步步摸索了,同時將步驟整理在blog上,但願後來人少走彎路。
1. 首先下載libjingle的源代碼,在以下地址:https://sourceforge.net/projects/libjingle/,我下載的是libjingle-0[1].4.0版本
2. 而後安裝Visual C++ 2005 Express Edition,具體下載地址,google一把,很是多的連接。
3. 安裝好Visual C++ 2005 Express Edition後,須要安裝platform SDK,在以下地址中下載:http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm,按照提示說明安裝platform SDK。
4. 在sourceforge.net上下載Expat XML Parser ,地址以下:http://sourceforge.net/project/downloading.php?group_id=10127&use_mirror=nchc&filename=expat_win32bin_2_0_0.exe&33064126,我下載的是2.0.0版本,安裝完成後,須要到Visual C++ 2005 Express Edition版本中更新選項,Tools-》Options-》Projects and Solutions-》VC++ directories
Library files: C:\Expat-2.0.0\StaticLibs
Include files: C:\Expat-2.0.0\Source\Lib
Include files: C:\Program Files\Microsoft SDK\include
5. 編譯工程,仍舊有如下提示:
------ Build started: Project: libjingle, Configuration: Debug Win32 ------
Compiling...
gipslitemediaengine.cc
d:\p2p\xmpp\libjingle\libjingle-0[1].4.0\libjingle-0.4.0\talk\session\phone\gipslitemediaengine.h(33) : fatal error C1083: Cannot open include file: ''talk/third_party/gips/Interface/GipsVoiceEngineLite.h'': No such file or directory
channelmanager.cc
d:\p2p\xmpp\libjingle\libjingle-0[1].4.0\libjingle-0.4.0\talk\session\phone\gipslitemediaengine.h(33) : fatal error C1083: Cannot open include file: ''talk/third_party/gips/Interface/GipsVoiceEngineLite.h'': No such file or directory
winfirewall.cc
d:\p2p\xmpp\libjingle\libjingle-0[1].4.0\libjingle-0.4.0\talk\base\winfirewall.cc(29) : fatal error C1083: Cannot open include file: ''netfw.h'': No such file or directory
Generating Code...
Build log was saved at "file://d:\p2p\xmpp\libjingle\libjingle-0[1].4.0\libjingle-0.4.0\talk\Debug\BuildLog.htm"
libjingle - 3 error(s), 0 warning(s)
6. 前面兩個編譯錯誤,能夠經過下載GipsVoiceEngineLite包完成,可是如今GipsVoiceEngineLite是須要許可才能下載,因爲項目中暫時不須要語音功能,因此在項目中去掉了session\phone子項目,前面兩個編譯錯誤消失。
7. 在http://www.codeproject.com/KB/winsdk/WinXPSP2Firewall.aspx中下載WinXPSP2Firewall_demo文件包,將icftypes.h和netfw.h拷貝到\talk\base目錄下,在base工程中加入icftypes.h文件。
8. 從新編譯,libjingle - 0 error(s), 0 warning(s)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========大功告成,libjingle編譯成功。
php