系統平台: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...