JRTPLIB庫arm交叉編譯詳解

2021-08-09 22:12:42 字數 1865 閱讀 1757

系統平台:ubuntu  16.04 

開發板:gec6818  arm

jrtplib庫:libjrtp.so.3.11.1.tar.gz

jthread版本:libjthread.so.1.3.3.tar.gz

本交叉編譯是將rtp接收端放在arm開發板上執行,rtp傳送端在ubuntu系統上執行。(由於傳送端和接收端各自的執行環境不一樣,所以,需要編譯兩次jrtplib庫和jthread庫)

接收端:交叉編譯jrtplib和jthread庫

具體步驟:

(2)先解壓jthread庫,檢視自己系統上是否裝有cmake工具,若沒有,則apt-get install  cmake,安裝好cmake工具。

(3)進入解壓好的jthread-1.3.3目錄中,檢視cmakelists.txt檔案。

(4)在cmakelists.txt檔案首行加入下面幾句話:

#告知當前使用的是交叉編譯方式  

set(cmake_system_name linux)  

#設定c編譯器  

set(cmake_c_compiler "arm-linux-gcc")  

#設定c++編譯器  

set(cmake_cxx_compiler "arm-linux-g++")

(5)執行cmake   cmakelists.txt(執行完以後,會出現makefile )

(6)執行make

(7)make  install

(8)然後進入jrtplib-3.11.1目錄下,同樣執行第4步到7步的方法。

(9)進入編譯好的標頭檔案路徑中,/usr/local/include,會看到有jrtplib3、jthread兩個目錄檔案。

(10)然後進入jrtplib3目錄中,找到rtpconfig.h標頭檔案,將標頭檔案中的#define rtp_big_endian(切記要遮蔽掉),因為這一點啃了我一半天的時間;由於pc機和arm開發板的

端結構不同,導致我用pc給arm板傳送資料,arm端不能接收到資料,但是程式能執行。(開發板晶元是小端結構,所以要遮蔽掉pc端使用的大端結構巨集定義)

(11)這時候編譯自己的rtp接收端程式,可能會出現缺少標頭檔案的錯誤。

解決方法:(1)進入/usr/local/include中將jrtplib3、jthread兩個目錄檔案,直接拷貝到你自己使用的交叉編譯工具的頭檔案目錄下,lz使用的是arm-linux-4.5.1的交叉編譯工具(/usr/local/4.5.1/arm-none-linux-gnueabi/include);如果還提示沒有標頭檔案,就注意要在你的rtp接收程式的標頭檔案裡改路徑,例如:#include "jrtplib3/rtpsession.h"。

若還提示沒有標頭檔案,就將jrtplib3、jthread兩個目錄檔案,再複製乙份到/usr/include 目錄下面。

(12)這時候還沒有結束,馬上又會提醒你缺少庫檔案。

解決方法:(1)進入/usr/local/lib中將libjrtp.so、libjrtp.so.3.11.1 、libjthread.so、libjthread.so.1.3.3各複製乙份到/usr/local/4.5.1/arm-none-linux-gnueabi/lib中。

ok!接收端大功告成。

pc傳送端:普通編譯jrtplib和jthread庫

(1)lz建議最好將之前已經生成的jrtplib3、jthread兩個目錄檔案,刪除了;重新解壓,重新得到jrtplib3、jthread這兩個目錄檔案。

(2)然後直接執行接收端的第5步到第7步。(不需要第4步,也不需要再去遮蔽大端結構巨集定義了,因為是在電腦上執行)

(3)後面的步驟基本上和接收端,後面的步驟一樣,記住**缺少標頭檔案和庫檔案,就向相應的地方新增標頭檔案和庫檔案。

rtp實時傳輸**,後續更新。

jrtplib 3 9 1 arm 交叉編譯

後,分別解壓,在解壓目錄中能看到乙個cmakelist.txt的檔案 2.修改兩個解壓目錄下的cmakelist.txt 告知當前使用的是交叉編譯方式 set cmake system name linux 設定c編譯器 set cmake c compiler arm none linux gnu...

jrtplib 3 9 1 arm 交叉編譯

後,分別解壓,在解壓目錄中能看到乙個cmakelist.txt的檔案 2.修改兩個解壓目錄下的cmakelist.txt cpp view plain copy 告知當前使用的是交叉編譯方式 set cmake system name linux 設定c編譯器 set cmake c compile...

交叉編譯jrtplib 問題

問題描述 1 安裝包 jrtplib 3.7.1.tar.gz jthread 1.2.1.tar.gz 2 步驟 分別解壓兩個安裝包 進入jthread 1.2.1使用.configure host arm linux cc arm linux gcc cxx arm linux g 命令配置 m...