一. JRTPLIB简介
RTP 是目前解决流媒体实时传输问题的最好办法,而JRTPLIB是一个用C++语言实现的RTP库,它完全遵循RFC 1889设计,目前已经可以运行在Windows、Linux、FreeBSD、Solaris、Unix和 VxWorks等多种操作系统上。在使用JRTPLIB之前,需要对其进行编译。
二. 使用的平台与软件
操作系统:windows 7
软件:CMake 3.2.3 + Visual Studio 2012
二. 下载链接
由于要对jrtplib
进行编译,且jrtplib
依赖于jthread
,需要下载以下内容:
jrtplib
:http://research.edm.uhasselt.be/jori/jrtplib/jrtplib-3.9.1.zip
jthread
:http://research.edm.uhasselt.be/~jori/page/index.php?n=CS.Jthread
cmake
:http://www.cmake.org/cmake/resources/software.html
三. 编译步骤
1.安装cmake-gui
。
2.将下载的jrtplib
和jthread
压缩包进行解压,同时在同目录下创建jrtplib_build
和jthread_build
文件夹。
3.以下过程主要是编译jthread
并生成 jthread.lib
和jthread_d.lib
。
3.1 打开cmake-gui
,首先添加输入(where..)和输出路径(where to…)点configure
,目标选择vs 2010 默认编译器。然后按照下图检查参数,确认无误再点一次configure
,最后点:generate
,生成VS2012工程文件:
3.2 进入jthread_build
目录下,使用VS2012打开sln文件,编译的具体方法为:选择解决方案资源管理器里的解决方案jthread
,运行“重新生成解决方案”;如果没有出现错误,再选择INSTALL项目,运行“生成”。 debug
和release
各进行一次上述操作即可。
3.3 如果编译成功(如上图),会在C:\Program Files\jthread\include\jthread
下生成头文件;在lib
文件夹下生成lib
和cmake
文件。
4.以下过程主要是编译jrtplib
生成 jrtplib.lib
和jrtplib_d.lib
。
4.1大致的步骤与上述相同,但在编译和configure
时需要添加一些配置,同样先输入(where..)和输出路径(where to…)点configure,目标选择VS2012默认编译器,初始的配置结果如下:
其中,需要添加ADDITIONAL_DEBUG_LIBRARIES
,ADDITIONAL_RELEASE_LIBRARIES
和ADDITIONAL_INCLUDE_DIRS
的路径:
确认无误再点一次configure
,最后点:generate
,生成VS2012工程文件:
4.2 打开sln文件并重新生成解决方案:
最后,在debug
和release
下分别生成jrtplib_d.lib
和jrtplib.lib
:
查看以下路径发现生成了一系列头文件,而在lib
文件夹下会生成jrtplib_d.lib
和jrtplib.lib
以及cmake
文件。
四、 使用实例
1.添加库
步骤一:
方法1. 将编译生成的jrtplib.lib
和jthread.lib
库拷贝到“*:\Program Files\Microsoft Visual Studio 10.0\VC\lib”
下面;
方法2. 将编译生成的四个lib
库库拷贝到当前工程的cpp文件下
步骤二:
方法1. [菜单]“项目->属性->配置属性->连接器->输入->附加依赖项”里填写“jrtplib.lib; jthread.lib; WS2_32.lib”
方法2. pragma
方式,在stdafx.h
文件中添加以下内容:
#ifdef DEBUG
#pragma comment(lib, "jrtplib_d.lib")
#pragma comment(lib,"jthread_d.lib")
#pragma comment(lib,"WS2_32.lib")
#else
#pragma comment(lib, "jrtplib.lib")
#pragma comment(lib,"jthread.lib")
#pragma comment(lib,"WS2_32.lib")
#endif
2.添加头文件
步骤一:将所有的.h文件放到一起,如myJRTPLIBHeader
里面,再添加include
。
步骤二:“项目->属性->配置属性->C/C++->常规->附加包含目录”。
五.参考链接
http://www.cnblogs.com/skyseraph/archive/2012/04/07/2435540.html
版权声明:本文为博主原创文章,未经博主允许不得转载。