jrtplib-3.9.0的編譯,終於搞通了。網上搜集了很多資料,自己也調試了很久。
首先,jrtplib-3.9.0是什麼不用多說吧,它是一個很牛的老外用C++寫的一個開源的RTP協議庫,用它可以進行數據的實時傳輸。RTP是實時傳輸協議的簡稱,由最新的RFC3550文檔進行規范。
1、從http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jrtplib下載最新的jrtplib-3.9.0和jthread-1.3.0。
2、從http://www.cmake.org/cmake/resources/software.html下載cmake 2.8,並安裝了。
3、解壓jthread-1.3.0.zip,拷貝到假設為D盤。打開cmake 2.8,如圖設置好源路徑D:\jthread-1.3.0和目標路徑D:\jthread,然後configure,後generate,就會在D:\jthread中生成vs2008的工程了。
4、打開D:\jthread中的jthread.sln,右鍵工程管理視圖中的INSTALL,選擇重新生成。OK,在C:\Program Files\jthread中就生成了我們需要的jthread_d.lib,和相應的頭文件了,再設置生成release版的jthread.lib,不用我說了吧。
接下來就是編譯jrtplib-3.9.0,實在是很麻煩。
1、解壓jrtplib-3.9.0.zip吧,拷到D盤。打開cmake 2.8,如圖設置好源路徑D:\jrtplib-3.9.0和目標路徑D:\jrtplib3.9.0,然後configure,會出現很多錯誤啊,也不是錯誤,就是找不到jthread的頭文件、庫文件和路徑之類的了。郁悶了很久,胡亂試了一下,按圖中圓圈的地方自己填好路徑吧,再configure一下,OK,沒錯了,再generate啦,就會在D:\jrtplib3.9.0中生成vs2008的工程了。
2、打開D:\jrtplib3.9.0中的jrtplib.sln,右鍵工程管理視圖中的INSTALL,選擇重新生成,又是一堆的錯誤,其實就是找不到jthread的頭文件了,在D:\jrtplib3.9.0\src\中新建一個jthread文件夾,把C:\Program Files\jthread\include\jthread頭文件都拷進去吧,再重新生成,OK啦,夢魅以求的jthread_d.lib終於在C:/Program Files/jrtplib中生成了,然後生成release版的就行了。
弄了這麼久,好像不是很復雜哦,要知道這些可花了我一天時間啊,天啊!!!!!
接來就是運行jrtplib3.9.0自帶的example1.cpp了。
1、本人是先把C:/Program Files/jrtplib和C:\Program Files\jthread中的頭文件和庫文庫分別拷到一起了,就是新建一個文件夾如C:/RTP,裡面再建兩個include和lib,把頭文件和庫文件分別拷進去吧。
2、然後用VS2008新建一個空的控制台工程了,設置好目錄了C:/RTP/include和C:/RTP/lib,把example1.cpp加到工程中來。調試運行,一堆鏈接錯誤。沒有設置為:多線程調試 DLL (/MDd),這個是在:項目屬性->c/c++->代碼生成->運行時庫中設置了。好,再運行,OK啦!!!
3、運行後要求,輸入本端口號,輸入6000回車,後是目的地址:127.0.0.1了,後是目的端口號:6000了,後是要發送的數據包個數,10吧,OK,收到了,如下圖:
4、運行完後,會有兩個警告信息,說jthread的調試信息不可用,這是因為我們沒有把jthread_d.pdb拷到C:/RTP/lib中了,這個jthread_d.pdb是要到D:\jthread\src\DEBUG中找的,在生成的C:\Program Files\jthread\lib文件夾中是沒有的。再運行,沒警告了。
大功造成,後面要用好這個庫,大家一起學習吧,任重道遠啊!!!
如果大家覺得麻煩,可直接到這裡下載我編譯好的用:http://download.csdn.net/detail/jid_223/3670397。
下面再貼一下我參考的博客吧:
http://hi.baidu.com/qiaxue/blog/item/ea149345fafd4133879473fc.html#0
http://blog.csdn.net/ljbsdu/article/details/6652991
http://blog.csdn.net/aaronalan/article/details/5153604
http://leezen.blogbus.com/logs/22052259.html
http://blog.csdn.net/smilestone322/article/details/6662902
http://general.blog.51cto.com/927298/328224
http://hi.baidu.com/whuisland/blog/item/e4811b3d2c9d4404baa167e9.html
http://wmnmtm.blog.163.com/blog/static/382457142011537199240/
首先, 文件,新建項目,如果是C或C++就選常規,然後選空項目,建好後,左邊會出現那個工程,然後在源文件那裡右擊,新建文件,如果是C++就直接建立CPP文件,如果是C語言就命名後加後辍 .c然後就可以寫代碼了,寫完後,點上面菜單的調試,再選啟動調 試就OK了
我覺得最大可能是程序有語法錯,就沒成功編譯出可執行文件。
第二可能是你程序的項目不對
第三才可能是編譯環境有問題