PJSIP and PJMEDIA(sig编译错误解决方法)

 這是目前找到算是滿簡單使用的SIP(Session Initiation Protocol) stack,它已經包含了完整的的SIP、RTP、RTCP及數個語音編碼器(codec)。會選用這個的原因不外乎就是因為它是開放原始碼(Open Source)的,要作實驗跑數據非常方便,文件算是很齊全,而且附有許多範例。它裡面包含了iLBC、Speex等比較新鮮的codec,不過缺點就是沒有G.729。


要使用這個library最簡單的方法就是....用visual studio 2005直接開啟專案,在pjproject-0.9.0裡面有附一個pjproject-vs8.sln,要注意,.dsw是VC6用的,2005要開.sln。首先將pjsua設為起始專案,然後按下編譯以後就會發生錯誤............


如果問題是"fatal error C1083: Cannot open include file: 'pj/config_site.h': No such file or directory",那真是很恭喜你,這是pjsip史上最好解覺得問題,你只要建立 pjlib/include/pj/config_site.h就可以解決了,儘管讓檔案裡面空著也不會有問題。

如果是出現找不到dsound.lib,那也很恭喜你,這只是你需要安裝DirectX SDK,這個到有點軟的網站去就可以找到了。如果裝完了還是沒有解決問題,請在VC裡面按「工具」->「選項」
-> 「專案與方案」 -> 「VC++目錄」底下,右邊Combobox先選「Include檔案」,把路徑加進去,可能是「C:/Program Files/Microsoft DirectX SDK (April 2007)/Include」,不過這會因版本而異,請自行對照。接著再選「程式庫」,加入「C:/Program Files/Microsoft DirectX SDK (April 2007)/Lib/x86」。還是找不到的話大概重開一下電腦試試看,不然就是你不應該照抄我的路徑,你安裝的路徑不見得相同;或是需要拜拜,買包乖乖放在電腦上。

當你可以正確編譯後,按下F5就會出現一個沒有GUI的softphone,有興趣可以用用看,我是用的很不舒服。接下來再samples專案裡面有很多範例程是,幾乎每個檔案都是一個獨立的範例。

接著如果想要借助這個sip stack或media stack來完成自己的程式,最簡單的方法就是................
把自己的專案加入這個solution,或者是在這邊直接新增一個專案,新增完之後要先進行專案設定:

  • Include目錄:../pjsip/include;../pjlib/include;"../pjlib-util/include";../pjmedia/include;../pjnath/include
  • 偵錯資訊格式:程式資料庫(Zi)
  • 前置處理器:PJ_WIN32=1
  • 基礎執行階段檢查:Debug下用"兩者 (/RTC1, 也可以使用 /RTCsu)"、Release用"預設"
  • 執行階段程式庫:Debug下用"多執行緒偵錯 (/MTd)"、Release用"多執行緒 DLL (/MD)"
  • 啟用累加連結:Debug用"是 (/INCREMENTAL)"、Release用"預設"
  • 其他相依性:Iphlpapi.lib  dsound.lib dxguid.lib netapi32.lib mswsock.lib ws2_32.lib odbc32.lib odbccp32.lib ole32.lib user32.lib
  • 產生偵錯資訊:Debug就選Debug,不是就別理它

這樣大致上就算完成了,接著....最重要的......
在專案點右鍵選"專案相依性",把除了
pjlib_test、pjlib_util_test、samples、sample_debug、test_pjsip還有你自己新增的其他專案以外的都打勾。做完這些動作後,可以把samples裡面的檔案摳到自己的專案作一下測試就知道了正不正常了。

http://www.pjsip.org/


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值