Windows下編譯jrtplib.lib和jthread.lib

Windows下編譯jrtplib.lib和jthread.lib - [網絡編程]

2008-06-01

版權聲明:轉載時請以超鏈接形式標明文章原始出處和作者信息及本聲明 http://leezen.blogbus.com/logs/22052259.html

研究了很多文章,自己終於搞定了,總結一下。 

JRTPLIB庫是一個RTP協議的開源庫,使用這套庫文件,我們可以創建端到端的RTP連接,實現數據的實時傳輸。

RTP是實時傳輸協議的簡稱。壓縮包可以從這裏獲得:

http://www.bairuitech.com/upimg/soft/jrtplib-3.7.1.rar

或者http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jrtplib

下載jrtplib-3.7.1.rar後,首先將其解壓到一個臨時文件夾中,然後開始後續工作。

首先需要強調的是,jrtplib是一個庫而不是應用程序,編譯後我們獲得的是.lib文件。這個文件是用來實現RTP協議的,意義和我們在寫WIN32程序時用到的kernel.lib一樣。

1、解壓後的文件夾中包含兩個目錄,jrtplib-3.7.1jthread-1.2.1,打開這兩個目錄後我們可以看到下面又有兩個同名的目錄,爲了後面能順利編譯,我們把同名目錄下的文件全部考到上一級目錄中,就是說把c:/jrtplib-3.7.1/jrtplib-3.7.1/*.* 複製到c:/jrtplib-3.7.1/。同理,把c:/jthread-1.2.1/jthread-1.2.1/*.* 複製到c:/jthread-1.2.1/。完成上述步驟後我們就可以開始編譯庫文件了。

2、編譯jrtplib.libjthread.lib需要注意VC6要求安裝Vs6sp6,在編譯jrtplib.libjthread.lib前,在project——settings——C/C++——Code generation:use run-time library中,對於debug,選擇:Debug Multithreaded DLL,對於release,則選擇:Multithreaded DLL

3、首先編譯jthread,然後將jthread-1.2.1/src內的"jmutex.h""jthread.h"兩個頭文件放入jrtplib-3.7.1/src目錄下,然後將jrtplib-3.7.1/src文件夾下所有頭文件中的<jmutex.h><jthread.h>語句修改爲"jmutex.h""jthread.h",需要修改的文件爲rtpudpv4transmitter.hrtpsession.hrtppollthread.h。編譯時注意編譯方式和jthread.lib一致,並且設置路徑包含jtrplib所有頭文件,路徑設置方法:工具--選項--目錄--include files.

4、將編譯生成的jthread.libjrtplib.lib拷貝到系統目錄:C:/Program Files/Microsoft Visual Studio/VC98/Lib下。

5、那些example的編譯,需要在cpp文件開頭加上:

#pragma comment(lib, "jrtplib.lib")

#pragma comment(lib, "jthread.lib")

#pragma comment(lib, "WS2_32.lib")//pragma的作用自己上網查吧

編譯的時候,同樣選擇編譯選項:Debug Multithreaded DLL(對於debug);Multithreaded DLL(對於release)。

Project->Settings->LinkObject/library modules:添加jthread.lib jrtplib.lib ws2_32.lib

然後編譯-鏈接-運行就可以了。我在鏈接時還出了個錯,參考http://leezen.blogbus.com/logs/22052169.html

發佈了0 篇原創文章 · 獲贊 4 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章