jrtplib 3.9.1 arm 交叉编译 作者:jwybobo2007
来源:互联网 发布:流放之路装备数据 编辑:程序博客网 时间:2024/05/20 23:56
jrtplib 3.9.1 arm 交叉编译
目前jrtplib的版本已经更新到了3.9.1,现在用的自动编译脚本已经被作者改成了cmake。由于最近需要在armv5的板子下开发视频应用,因此准备把该库移植过去。转载请注明作者:jwybobo2007。移植前先在baidu和google上搜索了下,没有找到有关jrtplib 3.9.1的交叉编译方法,能找到的就是3.7.1版本的编译方式,那时候直接是用的configure,make来编译的。既然没找到,那就只能自己研究一下,然后动手编译(现在的人真的是很依赖搜索引擎了,就像我,凡事都先搜索,找不到答案时,才自己去动脑研究,真是悲剧啊),下面介绍一下几个步骤。
1.下载该库以及jthread后,分别解压,在解压目录中能看到一个CMakeList.txt的文件
2.修改两个解压目录下的CMakeList.txt
- #告知当前使用的是交叉编译方式
- SET(CMAKE_SYSTEM_NAME Linux)
- #设置c编译器
- SET(CMAKE_C_COMPILER "arm-none-linux-gnueabi-gcc")
- #设置c++编译器
- SET(CMAKE_CXX_COMPILER "arm-none-linux-gnueabi-g++")
4.make, make install 此时jthread库安装完毕,默认安装到/usr/local下
接下来编译jrtplib
5.切换目录至jrtplib解压目录,执行cmake CMakeList.txt
6.执行完后,根据大小端情况先修改src文件夹下的rtpconfig.h
默认情况下会定义大端宏:
- #define RTP_BIG_ENDIAN
如果用的是小端序,把这个宏屏蔽掉
7.由于板子上的linux操作系统可以在没有用户名的情况下登录,所以rtpsession.cpp中的CreateCNAME可能报Can't retrieve login name的错误,因此需要修改几句代码:
- if (!gotlogin)
- {
- char *logname = getenv("LOGNAME");
- if (logname == 0)
- {
- strncpy((char*)buffer, "root", *bufferlength);
- }
- else
- strncpy((char *)buffer,logname,*bufferlength);
- }
8.make, make install
执行成功后就OK了,现在可以写代码测试了
- jrtplib 3.9.1 arm 交叉编译 作者:jwybobo2007
- 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
- jrtplib 3.9.1交叉编译
- jrtplib+jthread arm 交叉编译
- linux下交叉编译jrtplib-3.9.1
- JRTPLIB库arm交叉编译详解
- jrtplib+jthread 交叉编译
- 交叉编译jrtplib 问题
- jrtplib+jthread 交叉编译
- jrtplib+jthread 交叉编译
- 交叉编译jrtplib 问题
- jrtplib+jthread 交叉编译
- jrtplib编译和交叉编译
- LB+HA+ISCSI 集群系统项目实践
- 13暑假集训#1 总结
- MINI2440A led 实现二进制表示0~15
- C内置运算符sizeof
- 华为软件编程规范学习(十一)--代码测试、维护
- jrtplib 3.9.1 arm 交叉编译 作者:jwybobo2007
- SharePoint Site Restoration Procedure:
- 13暑假集训#3 总结
- 博客说明
- JSP的内置对象:
- Android---App Widget(三)
- java--选择排序
- 130719周赛CF
- Windows平台编译chrome源代码