我本来想用最新的 jrtplib-3.9.1和jthread-1.3.1,可是最新的那两个版本中都是用cmake进行配置的,我搞了好久,查了好多资料也没有解决交叉编译的问题,无奈,只能选用比较老的两个版本,我用的是jrtplib-3.7.1和jthread-1.2.1。想编译jrtplib-3.7.1,必须先编译jthread-1.2.1。

  下面是详细编译的步骤

  pc上编译:

  进入jthread-1.2.1中

  第一步:

  ./configure --prefix=/arm/jrtplib/share_jrtplib_jthread

  第二步:

  make

  第三步:

  make install

  进入jrtplib

  第一步:

  ./configure --with-jthread-includes=/arm/jrtplib/share_jrtplib_jthread/include/jthread/ LDFLAGS=-L/arm/jrtplib/share_jrtplib_jthread/lib/ --prefix=/arm/jrtplib/share_jrtplib_jthread

  第二步:

  make

  make 的时候出错:

  编译jrtplib的时候出现如下错误:
  rtperrors.cpp:206:1: warning: deprecated conversion from string constant to 'char*'
  rtperrors.cpp:206:1: warning: deprecated conversion from string constant to 'char*'
  rtperrors.cpp:206:1: warning: deprecated conversion from string constant to 'char*'
  rtperrors.cpp:206:1: warning: deprecated conversion from string constant to 'char*'
  rtperrors.cpp: In function 'std::string RTPGetErrorString(int)':
  rtperrors.cpp:225:36: error: 'snprintf' was not declared in this scope
  make[1]: *** [rtperrors.lo] 错误 1
  make[1]:正在离开目录 `/root/vedio/JRTPLib/src-x86/jrtplib-3.7.1/src'
  make: *** [all-recursive] 错误 1
  修改方法:
  修改 jrtplib-3.7.1 源文件 rtpdefines.h

  添加如下语句 :
  #include <stdio.h>
  #include <stdarg.h>
  #include <string.h>
  然后重新make

  第三步:

  make install

  --prefix= --prefix :指定编译后的 jrtplib 库安装到什么目录。

  --with-jthread-includes :指定之前安装的 jthread 库的头文件安装在什么目录下。如果不需要 jthread 的支持,这个选项可以不用。

  LDFLAGS :为编译时需要连接的动态库的路径。如果不需要 jthread 库的支持,这个选项不要。

  交叉编译:

  第一步:

  ./configure --prefix=/arm/jrtplib/share_jrtplib_jthread --host=arm-linux CC=/usr/local/arm-2007q3/bin/arm-none-linux-gnueabi-gcc CXX=/usr/local/arm-2007q3/bin/arm-none-linux-gnueabi-g++

  --prefix是安装的路径,--host是选择是个pc还是arm,后面CC和CXX是交叉编译工具的路径

  第二步:

  make

  第三步:

  make install

   编译jrtplib

  第一步:

  ./configure --with-jthread-includes=/arm/jrtplib/share_jrtplib_jthread/include/jthread/ LDFLAGS=-L/arm/jrtplib/share_jrtplib_jthread/lib/ --prefix=/arm/jrtplib/share_jrtplib_jthread --host=arm-linux CC=/usr/local/arm-2007q3/bin/arm-none-linux-gnueabi-gcc CXX=/usr/local/arm-2007q3/bin/arm-none-linux-gnueabi-g++

  第二步:

  make

  第三步:

  make install

  第一步中的相对路径自己可以做相应的修改。

  测试:

  编译完成后可以把相应的example里面的例子运行下试试(pc环境下测试的,因为开发班无法开两个终端,我又重新把上面的程序编译了下,生成pc下的可执行程序)

  我测试的是第一个例子和第第二个例子

  先运行第二个例子

  然后运行第二个程序,分别填入:6666 127.0.0.1 8000 1000

  这样你就可以看到第二个例子那边受到数据了。

ubuntu 下jrtplib编译的更多相关文章

  1. ubuntu下boost编译安装

    ubuntu下boost编译安装 boost 安装 1.依赖安装 apt-get install mpi-default-dev libicu-dev python-dev python3-dev l ...

  2. ubuntu下如何编译C语言

    ubuntu下如何编译C语言     如果没有gcc编译器的话,使用以下命令获取 ~# sudo apt-get install gcc同时要下载辅助工具 ~# sudo apt-get instal ...

  3. 64位ubuntu下重新编译hadoop2.2流水账

    hadoop官方网站中只提供了32位的hadoop-2.2.0.tar.gz,如果要在64位ubuntu下部署hadoop-2.2.0,就需要重新编译源码包,生成64位的部署包.建议以下操作使用roo ...

  4. Ubuntu下Android编译环境的配置

    从安装操作系统到编译程序结束,过程大致如下. 1. Ubuntu Linux操作系统安装软件包.使用 Ubuntu 14.04 Desktop系统.安装Linux系统到VMWare虚拟机上. 2. 完 ...

  5. 关于ubuntu下qt编译显示Cannot connect creator comm socket /tmp/qt_temp.xxx/stub-socket的解决的方法

    今天在ubuntu下安装了qtcreator,准备測试一下能否用.果然一測试就出问题了,简单编写后F5编译在gnome-terminal中出现 Cannot connect creator comm ...

  6. 关于ubuntu下qt编译显示Cannot connect creator comm socket /tmp/qt_temp.xxx/stub-socket的解决办法

    今天在ubuntu下安装了qtcreator,准备测试一下是否能用,果然一测试就出问题了,简单编写后F5编译在gnome-terminal中出现 Cannot connect creator comm ...

  7. Ubuntu下怎么编译并运行C、C++和Pascal语言?

    很多同学在安装了Ubuntu的环境后,发现在Windows下的许多东西都打不开了,但是用网站上的在线IDE又不是很方便. 所以,ljn教你如何在Ubuntu下编译并运行C.C++和Pascal. 一. ...

  8. Linux/Ubuntu下 静态编译Qt程序

    一般情况下,我们用Qt编译出来的程序是要依赖于系统Qt库的,也就是这个程序移到别的没有安装Qt库的系统上是不能使用的.会提示缺少……库文件之类的错误.这就是动态编译的结果. 但是如果我们想编译一个程序 ...

  9. 【Linux学习】Ubuntu下内核编译(一)

    (1)当要运行内核配置时,输入make menuconfig时出现错误 遇到这个问题,主要是以为没有ncurses库,而make menconfig 须要这个库.因此须要安装ncurses或者ncur ...

随机推荐

  1. mysql 易错误理解

    MySQL作为数据库的一大主力军,到处存在于我们各种系统中,相信大家都不陌生!但是,你知道你能用不代表你知道细节,那我们就来盘点盘点其中一些我们平时不太注意的地方,一来为了有趣,二来为了不让自己踩坑. ...

  2. 2015多校联合训练第一场Tricks Device(hdu5294)

    题意:给一个无向图,给起点s,终点t,求最少拆掉几条边使得s到不了t,最多拆几条边使得s能到t 思路: 先跑一边最短路,记录最短路中最短的边数.总边数-最短边数就是第二个答案 第一个答案就是在最短路里 ...

  3. 图论-BFS解无权有向图最短路径距离

    概述 本篇博客主要内容: 对广度优先搜索算法(Breadth-First-Search)进行介绍: 介绍用邻接表的存储结构实现一个图(附C++实现源代码): 介绍用BFS算法求解无权有向图(附C++实 ...

  4. jquery 页眉单行信息滚动显示

    JSP: 下面是控制滚动的样式.将滚动的内容查询出来.放在一个div 或者别的容器里面,我这里使用的是<dt> <style> #newCglist{width:300px;h ...

  5. Android——build.prop 解析【转】

    本文转载自:http://blog.csdn.net/lengyue1084/article/details/77637354 一.概念 在Android设备shell终端可以看到/system目录下 ...

  6. 如何让音频跟视频在ios跟android上自动播放

    如何让音频跟视频在ios跟android上自动播放 <audio autoplay ><source src="audio/alarm1.mp3" type=&q ...

  7. NSKeyedUnarchiver归档

    把自定义的类对象编码到NSData中 NSData *data = [NSKeyedArchiver archivedDataWithRootObject:bc];//归档,bc是一个自定义的类对象, ...

  8. MapReduce架构与生命周期

    MapReduce架构与生命周期 概述:MapReduce是hadoop的核心组件之一,可以通过MapReduce很容易在hadoop平台上进行分布式的计算编程.本文组织结果如下:首先对MapRedu ...

  9. 洛谷P2607 [ZJOI2008]骑士(树形dp)

    题目描述 Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社会各界的赞扬. 最近发生了一件可怕的事情,邪恶的Y国发动了一场针对Z国的侵略战争.战火绵延五百里, ...

  10. Android 拍照图片选取与图片剪裁

    最近从以前的项目中扒下来一个常用的模块,在这里有必要记录一下的,就是android上获取图片以及裁剪图片,怎么样?这个功能是不是很常用啊,你随便打开一个App,只要它有注册功能都会有设置人物头像的功能 ...