JRTPLIB库arm交叉编译详解
来源:互联网 发布:树莓派部署python环境 编辑:程序博客网 时间:2024/06/06 17:22
系统平台:Ubuntu 16.04
开发板:gec6818 ARM
jrtplib库:libjrtp.so.3.11.1.tar.gz
jthread版本:libjthread.so.1.3.3.tar.gz
http://research.edm.uhasselt.be/jori/page/CS/Jrtplib.html
本交叉编译是将RTP接收端放在ARM开发板上运行,RTP发送端在Ubuntu系统上运行。(由于发送端和接收端各自的运行环境不一样,所以,需要编译两次jrtplib库和jthread库)
接收端:交叉编译jrtplib和jthread库
具体步骤:
(1)下载好jrtplib和jthread的两个压缩包,并将它们放到Ubuntu系统上解压,楼主在根目录下新建的JRTLIB目录,将两个压缩包都放到本目录下解压的。(注意:在这里不要将自己的压缩包放在共享目录下解压,否则解压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库arm交叉编译详解
- jrtplib+jthread arm 交叉编译
- jrtplib 3.9.1 arm 交叉编译
- jrtplib 3.9.1 交叉编译 linux arm
- jrtplib 3.9.1 交叉编译 linux arm
- 【RTP】jrtplib 3.9.1 arm 交叉编译
- jrtplib 3.9.1 arm 交叉编译
- jrtplib 3.9.1 交叉编译 linux arm
- arm交叉编译详解
- arm交叉编译详解
- jrtplib 3.9.1 arm 交叉编译 作者:jwybobo2007
- 嵌入式linux交叉编译jrtplib库
- jrtplib+jthread 交叉编译
- 交叉编译jrtplib 问题
- jrtplib+jthread 交叉编译
- jrtplib+jthread 交叉编译
- 交叉编译jrtplib 问题
- jrtplib+jthread 交叉编译
- 设置GPS模块ublox 的波特率和数据输出格式
- 关于表关联查询的理解(左连接和左外连接、右连接和右外连接、完全连接)
- 七牛---关于PHP SDK的各种Demo
- CSDN的MarkDown编辑器字体颜色、大小
- C++ dll 类型与 C#类型对应关系
- JRTPLIB库arm交叉编译详解
- 复习(一) HashMap 和Hashtable的区别
- codeforces 878B B. Teams Formation 模拟
- 完美解决Android Studio在gradle上的各种问题
- 分布式RPC框架性能大比拼
- Android Camera2 Opengles2.0 预览图像实时滤镜 视频编码
- phyton如何遍历全国的经纬度数据
- 移除CSDN各种广告
- 记录Android Studio常用的插件