一天jrtplib的編譯,終於搞通了。
/**************** 編譯 ****************************************/
過程如下:
或者
2. 解壓後的資料夾中包含兩個目錄,jrtplib-3.7.1和jthread-1.2.1(多執行緒的lib,因為jrtplib用到多執行緒)
3. 這裡使用vc6(網上多說要求安裝vs6sp6,我電腦沒安,或者說是安了我也不知道)加以編譯。
(好像vs2003-2005多能編譯通過,我用自己電腦上的vs2010編譯沒通過,說是什麼「...二進位制...」什麼的)
(vs2005編譯會有warning,但不影響),主要是vs2005與vc6裡面對於this指標不同的規則定義。
在編譯jthread和jrtplib之前:
在project -> settings -> c/c++ -> code generation:use run-time library中,
對於debug,選擇:debug multithreaded dll,對於release,則選擇:multithreaded dll。
3-1. 首先編譯jthread庫,編譯好後,然後將jthread-1.2.1/src內的"jmutex.h"和"jthread.h"兩個標頭檔案放入jrtplib-3.7.1/src目錄下,
然後將jrtplib-3.7.1/src資料夾下所有標頭檔案中的和語句修改為"jmutex.h"和"jthread.h",
需要修改的檔案為:
rtpudpv4transmitter.h、
rtpsession.h 和
rtppollthread.h。
編譯時注意編譯方式和jthread.lib一致,
並且設定路徑包含jtrplib所有標頭檔案,路徑設定方法:工具(tools) -> 選項(options) -> 目錄(directories) -> include files
(好像做不做這一小步無所謂,做了也沒什麼作用,我基本上沒做),編譯好jtrplib.lib
3. 現在該建的也建好了, 既然我們上面編譯好了兩個lib那肯定是要用到的撒。
這裡,我提一下lib的作用:lib是編譯過程中的鏈結檔案,跟dll不同,dll是執行檔案。若別人系統中沒有該dll,你得把dll跟你的exe放一起,
lib就不同了,只要能執行成功後,即使生成的exe放到沒有這個lib的系統下也是能執行的,所以你不需要慌,只要
能成功的生成exe或者dll就ok了。
目前有兩個方案:
1: a. 把lib放到系統檔案下,編譯器會去找這個lib的。d:/vc98 / lib中(我的是這個路徑,其他人的根據實際情況而定)
b. 同時jrtplib-3.7.1/src中的所有標頭檔案h也放到系統資料夾下。d:/vc98 / include中(我的是這個路徑)
2: a. 把lib放到跟server.cpp同一目錄下(vs2005我就不知道是不是這樣了,應該差不多)
b. 同時jrtplib-3.7.1/src中的所有標頭檔案h也放到跟server.cpp同一目錄下
其中,1、2中的a 和 b是可以互相組合的,當然把這些標頭檔案h都放在系統資料夾下不是很環保,因為這些h很多的。我自己習慣1的a
跟2的b搭配,當然直接是2也不錯
4. 現在是**問題了。
在server.cpp的頂部加入:
#pragma comment(lib,"ws2_32.lib") //這個肯定是在系統資料夾下,因為這個lib不是我加的,是編譯器自己就有的
#pragma comment(lib,"jrtplib.lib") //以下這兩個lib你可以這樣寫在程式裡面,以供呼叫,也可以在編譯器中設定,而不需要這
#pragma comment(lib,"jthread.lib") //兩行**。projects -> settings -> link -> object/library modules 中新增
jthread.lib (注意,當中有空格)
下面再加幾句**試試。
#include "rtpsession.h"
void main()
執行,成功,不會說不存在jrtplib.lib、jthread.lib 以及打不開rtpsession.h的情況!
ortp編譯測試
1.獲得原碼包 我是從csdn獲得 ortp 0.20.0.zip 2.編譯安裝 解壓並進入主目錄 cd opt ortp 0.20.0 執行如下命令 a configure b make c sudo make install 裝好以後系統環境如下,靜態動態庫安裝到了 usr local lib目...
windows編譯測試redis
最新版本是redis3.0,需要用vs2015版本編譯 redis 3.0 msvs目錄下面,開啟 編譯 x64 redis 3.0 msvs x64 debug下面會有對應的debug庫 redis.c檔案有main函式 main initserverconfig 初始化配置 main inits...
Linux核心編譯測試
核心編譯 make menuconfigmake mrpropermake cleanmake bzimage 編譯核心 make modules 編譯各核心模組,如驅動等。make modules install 將編譯好的模組安裝至 lib modules x.xx.x 資料夾下。cd linu...