下面說的是親身經曆的安裝嵌入式linux使用的JRTPLIB ,與在PC機上安裝並不相同,會出現一些錯誤,花了不少時間才解決的。
1. 下載開發包解壓。這裡用的是jrtplib-3.7.1,: http://www.bairuitech.com/upimg/soft/jrtplib-3.7.1.rar 2. 解壓後出現兩個目錄,一個是jrtplib-3.7.1,一個是jthread-1.2.1。下一步是安裝,需要先到jthread安裝,再到jrtplib目錄安裝。
3. jthread安裝: cd jthread-1.2.1 //到jthread目錄下 ./configure -host=arm-linux –prefix=/usr/local/arm/2.95.3 //修改設定檔,由於是交叉編譯,因此需要設定 make make install 安裝結束。 安裝好以後會在/usr/local/arm/2.95.3目錄下多出一個檔案夾jthread。安裝jthread一般不會出現錯誤。
4. jrtplib安裝 cd jrtplib-3.7.1 //到jrtplib目錄下 ./configure -host=arm-linux –prefix=/usr/local/arm/2.95.3 //修改設定檔,由於是交叉編譯,因此需要設定 修改一個標頭檔,rtpconfig_unix.h檔案,裡面有個關於大小端系統的宏定義,如果系統是小端的話,將該定義注釋掉。我也不知到6410是大端還是小端,不過還是注釋了。 make 會發現出錯了。 錯誤1, rtperrors.cpp 檔案出錯或警告,在rtperrors.h中添加#include<stdio.h> 錯誤2,memcyp 錯誤,在錯誤的檔案內加入#include<string.h> 繼續make,繼續出錯,繼續修改就行了。 make install. 複製jthead下所有檔案(都是標頭檔)到jrtplib檔案夾下,目的是為了讓所有標頭檔在一個目錄下方便調用。 5. 裝好以後系統內容如下,靜態動態庫安裝到了/usr/local/lib目錄下,包括libjrtplib-3.7.1.so和libjthread-1.2.1.so等。標頭檔 在/usr/local/include目錄jrtplib*目錄下。 6. 在jrtplib原始碼目錄裡有例子程式,make檔案都是寫好的,實驗一下編譯example1.cpp,使用靜態庫libjrtp.a連結,編譯語句如下 (注意用g++而不是gcc編譯,因為是cpp檔案):
g++ -o example1 example1.cpp -I /usr/local/include/jrtplib/ -ljrtp
即產生應用程式exmaple1,注意參數中路徑為jrtplib標頭檔目錄,根據實際情況修改。
然後運行./example1。
如果說找不到庫檔案,改為如下語句
LD_LIBRARY_PATH=path_to_libjthread ./example1
其中path_to_libjthread是你的庫所在目錄,即/usr/local/lib/ ,即:
LD_LIBRARY_PATH=/usr/local/lib ./example1 |