一. 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. How to pass string parameters to an TADOQuery?

    http://4byte.cn/question/1130217/how-to-pass-string-parameters-to-an-tadoquery.html 从2个答案看,如果TADOQue ...

  2. javascript的replace之正则表达式的浅析

    在javascript中,字符串的replace方法可以指定替换某些字符串. 1.直接替换字符串 "yy/MM/dd".replace("yy","2 ...

  3. C++字符串函数之append()、insert()

    仅记录自己比较容易忘的几个: B.insert(1,A,2,2) 将A中的从第3个字符开始的2个字符插入到B的第1个字符后面(字符串A和B实际上分别是const char [5]和const char ...

  4. 软工作业No.3--团队作业:甜美女孩出击!

    队名:甜美女孩 队员包括: 姓名 学号 身份 曾祎祺 3216005211 队长 邓画月 3216005212 队员 何颖琪 3216005213 队员 梁沛诗 3216005214 队员 梁子君 3 ...

  5. 解决 Error: could not open `C:\Program Files\Java\jre7\lib\i386\jvm.cfg'

    解决 Error: could not open `C:\Program Files\Java\jre7\lib\i386\jvm.cfg' 重装JDK后,因为没有装在以前的目录,运行java命令后报 ...

  6. SWIFT中使用AFNetwroking访问网络数据

    AFNetworking 是 iOS 一个使用很方便的第三方网络开发框架,它可以很轻松的从一个URL地址内获取JSON数据. 在使用它时我用到包管理器Cocoapods 不懂的请移步: Cocoapo ...

  7. 搭建一个SVN

    1--------------------------------------首先需要下载SVN---------------------------------------------------- ...

  8. SW4STM32 全局宏定义

    /************************************************************************************ * SW4STM32 全局宏 ...

  9. Ajax和SpringMVC之间JSON交互

    Ajax和SpringMVC之间的json数据传输有两种方式: 1.直接传输Json对象 2.将Json序列化成json字符串 1.直接传输Json对象 前端Ajax $(document).read ...

  10. 发布网站的时候发现360极速浏览器ie7内核不兼容样式的问题

    引言:  在Web应用的开发过程中,发现若干页面在360的浏览器上显示不正常,而在其他的浏览器上,皆为正常状态,问题出在哪里呢? 问题的提出: Web页面在360的浏览器上,显示不正确. 但是在Fir ...