http://rritw.com/a/bianchengyuyan/C__/20120928/231914.html
環境 Ubuntu 10.04 Server 包 expat-2.1.0.tar.gz libjingle-0.6.14.zip openssl-1.0.0e.tar.gz scons-2.2
Ubuntu 10.04 Server
expat-2.1.0.tar.gz libjingle-0.6.14.zip openssl-1.0.0e.tar.gz scons-2.2.0.zip scons-local-2.1.0.zip scons-local-2.2.0.zip srtp-cvs.zip swtoolkit.0.9.1.zip
libjingle-0.6.14.zip解壓後的目錄为libjingle-0.6.14。編譯過程参考文件libjingle-0.6.14/README。調用hammer.sh腳本開始編譯,默認是dbg版本的,可以使用hammer.sh --mode=opt命令編譯opt版本,編譯後的文件位於libjingle-0.6.14/talk/build目錄下。
若要編譯pcp的sample,可以在libjingle-0.6.14/talk/libjingle.scons文件中添加如下語句:
talk.App(env, name = "pcp",
libs = [
"jingle",
"expat",
"xmpphelp",
],
posix_libs = [
"crypto",
"ssl",
],
srcs = [
"examples/pcp/pcp_main.cc",
],
)
1. login的代碼很短,貌似沒啥用,可以不帶参數執行,按提示操作即可。 2. 測試call的命令
call.exe -d --videoinput=..\..\..\session\phone\testdata\video.rtpdump --voiceinput=..\..\..\session\phone\testdata\voice.rtpdump --videooutput=vout.rtpdump --voiceoutput=aout.rtpdump
3. 測試pcp的命令
pcp elastos.chen.yufei@gmail.com # 服務端,運行起來之後會生成一個full jid:elastos.chen.yufei@gmail.com/pcp72DCD3AB
staging\pcp.exe chen.yufei.2011@gmail.com testfile.txt elastos.chen.yufei@gmail.com/pcp45BE7732:testfile # 發送文件
staging\pcp.exe chen.yufei.2011@gmail.com elastos.chen.yufei@gmail.com/pcp45BE7732:testfile testfile.txt # 接收文件
4. relayserver是一個中轉服務器,可以使用如下命令運行
./relayserver 127.0.0.1:5555 127.0.0.1:5556
5. stunserver貌似也是一個中轉服務器,運行的命令如下
./stunserver 127.0.0.1:555
編譯時,遇到類似“Error loading site_init file”的錯誤,可以参考這裏 ,修改編譯文件site_init.py:
Line 330:
SCons.Script.Main._load_site_scons_dir(
str(SCons.Node.FS.get_default_fs().SConstruct_dir), site_dir)
Line 450:
SCons.Script.Main._load_site_scons_dir(
str(SCons.Node.FS.get_default_fs().SConstruct_dir), None)