标签:rtp jrtplib cmake jthread vs2012
一. 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
版权声明:本文为博主原创文章,未经博主允许不得转载。
流媒体技术:VS2012下RTP开源协议库JRTPLIB 3.9.1编译
标签:rtp jrtplib cmake jthread vs2012
原文地址:http://blog.csdn.net/liyuefeilong/article/details/49469281