標籤:rtp jrtplib cmake jthread vs2012
一. JRTPLIB簡介
RTP 是目前解決流媒體即時傳輸問題的最好辦法,而JRTPLIB是一個用C++語言實現的RTP庫,它完全遵循RFC 1889設計,目前已經可以運行在Windows、Linux、FreeBSD、Solaris、Unix和 VxWorks等多種作業系統上。在使用JRTPLIB之前,需要對其進行編譯。
二. 使用的平台與軟體
作業系統:windows 7
軟體:CMake 3.2.3 + Visual Studio 2012
二. 下載連結
由於要對jrtplib進行編譯,且jrtplib依賴於jthread,需要下載以下內容:
jrtplib:http://research.edm.uhasselt.be/jori/jrtplib/jrtplib-3.9.1.zip
jthread:http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jthread
cmake:http://www.cmake.org/cmake/resources/software.html
三. 編譯步驟
1.安裝cmake-gui。
2.將下載的jrtplib和jthread壓縮包進行解壓,同時在同目錄下建立jrtplib_build 和jthread_build檔案夾。
3.以下過程主要是編譯jthread 並產生 jthread.lib和jthread_d.lib。
3.1 開啟cmake-gui,首先添加輸入(where..)和輸出路徑(where to…)點configure,目標選擇vs 2010 預設編譯器。然後按照檢查參數,確認無誤再點一次configure,最後點:generate,產生VS2012工程檔案:
3.2 進入jthread_build目錄下,使用VS2012開啟sln檔案,編譯的具體方法為:選擇方案總管裡的解決方案jthread,運行“重建解決方案”;如果沒有出現錯誤,再選擇INSTALL項目,運行“產生”。 debug和release各進行一次上述操作即可。
3.3 如果編譯成功(如),會在C:\Program Files\jthread\include\jthread下產生標頭檔;在lib檔案夾下產生lib和cmake檔案。
4.以下過程主要是編譯jrtplib 產生 jrtplib.lib和jrtplib_d.lib。
4.1大致的步驟與上述相同,但在編譯和configure時需要添加一些配置,同樣先輸入(where..)和輸出路徑(where to…)點configure,目標選擇VS2012預設編譯器,初始的配置結果如下:
其中,需要添加ADDITIONAL_DEBUG_LIBRARIES,ADDITIONAL_RELEASE_LIBRARIES和ADDITIONAL_INCLUDE_DIRS 的路徑:
確認無誤再點一次configure,最後點:generate,產生VS2012工程檔案:
4.2 開啟sln檔案並重建解決方案:
最後,在debug和release下分別產生jrtplib_d.lib和jrtplib.lib:
查看以下路徑發現產生了一系列標頭檔,而在lib檔案夾下會產生jrtplib_d.lib和jrtplib.lib以及cmake檔案。
四、 使用執行個體
1.添加庫
步驟一:
方法1. 將編譯產生的jrtplib.lib和jthread.lib庫拷貝到“*:\Program Files\Microsoft Visual Studio 10.0\VC\lib”下面;
方法2. 將編譯產生的四個lib庫庫拷貝到當前工程的cpp檔案下
步驟二:
方法1. [菜單]“項目->屬性->配置屬性->連接器->輸入->附加依賴項”裡填寫“jrtplib.lib; jthread.lib; WS2_32.lib”
方法2. pragma 方式,在stdafx.h檔案中添加以下內容:
#ifdef DEBUG #pragma comment(lib, "jrtplib_d.lib") #pragma comment(lib,"jthread_d.lib") #pragma comment(lib,"WS2_32.lib")#else #pragma comment(lib, "jrtplib.lib") #pragma comment(lib,"jthread.lib") #pragma comment(lib,"WS2_32.lib")#endif
2.添加標頭檔
步驟一:將所有的.h檔案放到一起,如myJRTPLIBHeader裡面,再添加include。
步驟二:“項目->屬性->配置屬性->C/C++->常規->附加元件封裝含目錄”。
五.參考連結
http://www.cnblogs.com/skyseraph/archive/2012/04/07/2435540.html
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
流媒體技術:VS2012下RTP開源協議庫JRTPLIB 3.9.1編譯