一. JRTPLIB简介

  RTP 是目前解决流媒体实时传输问题的最好办法,而JRTPLIB是一个用C++语言实现的RTP库,它完全遵循RFC 1889设计,目前已经可以运行在Windows、Linux、FreeBSD、Solaris、Unix和 VxWorks等多种操作系统上。在使用JRTPLIB之前,需要对其进行编译。

二. 使用的平台与软件

操作系统:windows 7 
软件:CMake 3.12.0 + Visual Studio 2017

二. 下载链接

由于要对jrtplib进行编译,且jrtplib依赖于jthread,需要下载以下内容:

jrtplib:http://research.edm.uhasselt.be/jori/jrtplib/jrtplib-3.11.1.zip

jthread:http://research.edm.uhasselt.be/jori/jthread/jthread-1.3.3.zip

cmake:https://cmake.org/files/v3.12/cmake-3.12.0-win64-x64.msi

三. 编译步骤

1.安装cmake-gui

2.将下载的jrtplibjthread压缩包进行解压,同时在同目录下创建jrtplib_build 和jthread_build文件夹。

3.以下过程主要是编译jthread 并生成 jthread.libjthread_d.lib

3.1 打开cmake-gui,首先添加输入(where..)和输出路径(where to…)点configure,目标选择vs 2017 默认编译器。然后按照下图检查参数,确认无误再点一次configure,最后点:generate,生成VS2017工程文件

3.2点击open-project打开工程如下

编译的具体方法为:选择解决方案资源管理器里的解决方案jthread,运行“重新生成解决方案”;如果没有出现错误,再选择INSTALL项目,运行“生成”。 debugrelease各进行一次上述操作即可。

3.3 如果编译成功(如上图),会在C:\Program Files (x86)\jthread\include\jthread下生成头文件;在lib文件夹下生成libcmake文件。

4.以下过程主要是编译jrtplib 生成 jrtplib.libjrtplib_d.lib

4.1大致的步骤与上述相同,但在编译和configure时需要添加一些配置,同样先输入(where..)和输出路径(where to…)点configure,目标选择VS2017默认编译器,初始的配置结果如下:

特别注意的是需要添加ADDITIONAL_DEBUG_LIBRARIESADDITIONAL_RELEASE_LIBRARIESADDITIONAL_INCLUDE_DIRS 的路径

确认无误再点一次configure,最后点:generate,生成VS2017工程文件:

4.2点击open-project打开工程如下

编译的具体方法为:选择解决方案资源管理器里的解决方案jrtplib,运行“重新生成解决方案”;如果没有出现错误,再选择INSTALL项目,运行“生成”。 debugrelease各进行一次上述操作即可。

3.3 如果编译成功(如上图),会在C:\Program Files (x86)\jrtplib\include\jthread下生成头文件;在lib文件夹下生成libcmake文件。

vs2017 编译JRTPLIB的更多相关文章

  1. windows 平台使用 VS2017 编译openssl源码

    windows 平台使用 VS2017 编译openssl源码 1)依赖安装 安装 perl 脚本解释器 下载 http://libevent.net/download 安装 nasm 汇编器 C:\ ...

  2. windows 平台使用 VS2017 编译 libevent 源码

    一 依赖库编译 先要将其依赖的库编译好,其中openssl需要编译到libevent中,编译成libevent_openssl.lib库,zlib在新版本中只有示例用到. 1)windows 平台使用 ...

  3. VS2017 编译 Visual Leak Detector + VLD 使用示例

    起因 一个Qt5+VS2017的工程,需要进行串口操作,在自动时发现一段时间软件崩溃了,没有保存log,在 debug 的时候发现每运行一次应用占据的内存就多一点,后来意识到是内存泄漏了.这个真是头疼 ...

  4. VS2017编译错误:#error: Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version

    VS2017编译错误:#error: Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll ve ...

  5. VS2017 编译 chromium和webrtc

    Chromium的编译和WebRTC的编译方式相同,WebRTC官网也是使用的Chromium的编译文档. 步骤一.跳 - 墙,先跳 - 墙这是第一步哟,chromium大概有10几个G,webrtc ...

  6. VS2017编译SFML SDK配制环境详解

    SFML和Visual Studio 介绍 如果您在Visual Studio IDE(Visual C ++编译器)中使用SFML,本教程是第一个应该阅读的教程.它将解释如何配置您的SFML项目. ...

  7. 使用VSCode和VS2017编译调试STM32程序

    近两年,微软越来越拥抱开源支持跨平台,win10搭载Linux子系统,开源VSCode作为跨平台编辑器,VS2017官方支持了Linux和嵌入式开发功能. ST也是,近两年开发的软件工具基本都是跨平台 ...

  8. 【代码问题】MatConvNet+VS2017编译找不到cl.exe错误

    用vl_compilenn做普通的CPU编译报错: 'cl.exe' 不是内部或外部命令,也不是可运行的程序 或批处理文件. 错误使用 vl_compilenn>check_clpath (li ...

  9. VS2017编译GDAL(64bit)+解决C#读取Shp数据中文路径的问题

    编译GDAL过程比较繁琐,查阅了网上相关资料,同时通过实践,完成GDAL的编译,同时解决了SHP数据中文路径及中文字段乱码的问题,本文以“gdal-2.3.2”版本为例阐述整个编译过程. 一.编译准备 ...

随机推荐

  1. 吐血推荐:罗马尼亚无版权VPS服务商HostSolutions评测-绝对真实

    要放心大胆的玩 VPS,要找性价比高.信用好,服务稳定,限制少的服务商是很不容易的.这里我先点几个黑名单:第一类 HiFormance.VirMach 低价流 VPS 服务商,以低从吸引消费者.俗话说 ...

  2. C++虚析构函数的作用

    注:本文内容来源于zhice163博文,感谢作者的整理. 1.为什么基类的析构函数是虚函数? 在实现多态时,当用基类操作派生类,在析构时防止只析构基类而不析构派生类的状况发生. 下面转自网络:源地址  ...

  3. SWIFT用ScrollView加图片制作Banner

    网上参考OBJC写的用ScrollView图片轮播效果,照着画了个,先上效果图: 附上代码: @IBOutlet weak var pc: UIPageControl! @IBOutlet weak ...

  4. XCODE中使用Main.Storyboard拉入控件并实现事件(Swift语言)

    如何在XCODE中的Main.Storyboard内拉入控件并实现一个简单的效果呢?本人由于刚接触Swift语言不久,对于IDE的操作还是很生疏,不懂了就在网上参考了网上前辈们的文章.以下我将演示如何 ...

  5. C# 历史曲线控件 基于时间的曲线控件 可交互的高级曲线控件 HslControls曲线控件使用教程

    本篇博客主要对 HslControls 中的曲线控件做一个详细的教程说明,大家可以根据下面的教程开发出高质量的曲线控件 Prepare 先从nuget下载到组件,然后就可以使用组件里的各种组件信息了. ...

  6. iOS8 对开发者来说意味着什么?

    今天凌晨,Apple WWDC2014 iOS8 正式推出! 也许,对于广大iOS用户来说,iOS8的创新并不是特别多. 但对于开发者来说,影响却将会是无比巨大的! 正如Apple官网上的广告:Hug ...

  7. C高级第一次PTA作业

    作业要求一 附加题目 写程序证明P++等价于(p)++还是等价于*(p++)? 1.设计思路: (1).题目算法描述 第一步:定义变量p并赋初值 第二步:分三次计算每次分别输出 p++,(p)++,* ...

  8. BZOJ3864: Hero meet devil【dp of dp】

    Description There is an old country and the king fell in love with a devil. The devil always asks th ...

  9. 浅谈 React

    机缘巧合认识React,翻了2天的资料,又整理了1天,也算是简单入门了;之前也学过angular,相比来说,的确React代码逻辑更加简单明了,理解起来也相对容易. React 具备以下特性:1.声明 ...

  10. 杭电oj2001-C语言

    题目 题目 Problem Description 输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离. Input 输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x ...