今天開始了SIP開源庫的學習,我選擇了osip和eXosip,但是這兩個庫的編譯使用有些麻煩,源碼下來之後編譯會出現很多問題,網上也沒有找到完整的編譯介紹,只能一步一步的扣,最後終於編譯成功!先大概記錄下編譯過程,後面還要再整理下。
第一步,下載osip和eXosip
osip: http://ftp.twaren.net/Unix/NonGNU//osip/libosip2-3.6.0.tar.gz eXosip: http://download.savannah.gnu.org/releases/exosip/libeXosip2-3.6.0.tar.gz第二步,解壓,編譯osip:
1.進入libosip2-3.6.0\platform\vsnet目錄,用VS2010直接打開osip.sln文件,項目自動轉換
2.更改libosip2-3.6.0\platform\vsnet\osip2.def 文件,在文件末尾追加
osip_transaction_set_naptr_record @138
3.更改libosip2-3.6.0\platform\vsnet\osipparser2.def 文件,在文件末尾追加
osip_realloc @416 osip_strcasestr @417
__osip_uri_escape_userinfo @418
4.先編譯osipparser2,再編譯osip2,最後在libosip2-3.6.0\platform\vsnet\Debug DLL下生成庫文件:
osip2.lib
osip2.dllosipparser2.lib
osipparser2.dll
第三步,解壓,編譯eXosip
進入libeXosip2-3.6.0\platform\vsnet目錄,用VS2010直接打開eXosip.sln文件,項目自動轉換:
1.將osip2.lib,osip2.dll,osipparser2.lib,osipparser2.dll拷貝到Debug目錄下
2.C/C++ --> 預處理器 --> 預處理器定義: 刪除HAVE_OPENSSL_SSL_H
3.C/C++ --> 常規 --> 附加包含目錄: 將osip的頭文件libosip2-3.6.0\include包含進來
4.編譯,生成eXosip.lib