用VS2015編譯pjsip的工程pjproject-vs14


先去官網下載最新的源碼包,我用的版本是2.7.1 。

將源代碼解壓后,在路徑:pjproject-3.7.1\pjlib\include\pj 中創建新文件config_site.h,內容如下:

 1 #ifndef __CONFIG_SITE_H__ 
2
#define __CONFIG_SITE_H__ 3 4 #define PJMEDIA_HAS_VIDEO 1 5 #define PJMEDIA_HAS_OPENH264_CODEC 1 6 #define PJMEDIA_HAS_LIBYUV 1 7 #define PJMEDIA_VIDEO_DEV_HAS_SDL 1 8 #define PJMEDIA_VIDEO_DEV_HAS_DSHOW 1 9 #define PJMEDIA_HAS_FFMPEG 1 10 11 #endif
  •  ffmpeg

去ffmpeg的一個編譯站點https://ffmpeg.zeranoe.com/builds/ 下載最新的開發版本,我下載的是3.4.1 。

將它解壓到pjproject-3.7.1下,ffmpeg的include和lib目錄應該是在pjproject-3.7.1/ffmpeg-3.4.1-win32-dev下。

  •  SDL

去SDL官網https://www.libsdl.org/download-2.0.php下載SDL的編譯版本,我下載的是2.0.7

將它解壓到pjproject-3.7.1下,SDL的include和lib目錄應該是在pjproject-3.7.1/SDL2-2.0.7下。

  • OpenH264

去OpenH264官網下載源碼,具體編譯方法請參考另一帖《Windows下用VS2015+MSYS編譯OpenH264》。

將源碼解壓到pjproject-3.7.1下,按照帖子里的方法去編譯即可。編譯完成后,openh264.lib的路徑是在pjproject-3.7.1/openh264-master下。

  • baseclasses

這個包用來生成strmbasd.lib和strmbase.lib,代碼來源於Window 7 SDK,可以從這個鏈接下載https://www.microsoft.com/en-us/download/details.aspx?id=18950

將ISO文件加載到虛擬光驅,但你不必全部安裝,只需要將setup下的WinSDKSamples安裝即可,之后就可以在

C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\multimedia\directshow\baseclasses

中找到這個工程。

但事實上,pjproject-3.7.1中已經自帶了這個源碼,源碼位置在pjproject-3.7.1\third_party\BaseClasses中,編譯結果在pjproject-3.7.1\third_party\lib下。

可根據具體的編譯需要使用。

-----------------------------------------------------------------------------------------------------------

至此,需要的編譯環境基本上都有了,在開始編譯前,還要修改下pjproject-vs14解決方案中的一些配置:

要在pjmedia、pjmedia-codec、pjmedia-videodev、pjsua這幾個工程中中添加ffmpeg、SDL、OpenH264的include或lib路徑。

右鍵點擊工程->屬性->配置中選擇“所有配置”->C/C++->常規->附加包含目錄中添加include路徑;

右鍵點擊工程->屬性->配置中選擇“所有配置”->鏈接器->常規->附加庫目錄中添加lib路徑。

最后一個關鍵點是pjsua工程,要在鏈接器->輸入->忽略特定默認庫中添加libcmt.lib(release版本)或libcmtd.lib(debug版本),還要在鏈接器->命令行->其他選項中添加/SAFESEH:NO,忽略一個錯誤警告:error LNK2026 模塊對於 SAFESEH 映像是不安全的。

 That's all.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM