一. 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. git push时候总提示输入账号密码,如何免除设置?

    1. 打开.ssh所在目录 home,即C:\Users\Administrator2. 在home中,进入git bash命令终端,创建.git-credentials文件,编辑 touch .gi ...

  2. L226

    The dean can’t see you at the moment. He is addressing the first-year students in the lecture hall.系 ...

  3. Android中检测字符编码(GB2312,ASCII,UTF8,UNICODE,TOTAL——ENCODINGS)方法(一)

    package com.android.filebrowser;   import java.io.*; import java.net.*;   public class FileEncodingD ...

  4. Java Junit 基础笔记

    Junit 1. 概念 JUnit是一个Java语言的单元测试框架. 单元测试:单元测试(英语:Unit Testing)又称为模块测试, 是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工 ...

  5. hdu-5810 Balls and Boxes(概率期望)

    题目链接: Balls and Boxes Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 65536/65536 K (Java/O ...

  6. Magento如何设置产品的打折或者优惠价格

    促销是商家的必备武器,手段可以说是花样繁多.其中最有效最具吸引力的就是优惠券了.那么在Magento中如何添加优惠券呢? 修改位置:后台--促销--购物车价格规则 1.点击右上角的 添加新规则 按钮. ...

  7. memset,memcpy,strcpy

    http://www.cppblog.com/junfeng568/archive/2006/03/11/4022.html

  8. Unity 3D换装系统教程/Demo

    Unity3D换装系统教程 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 Costume Change ...

  9. Mysql隔离级别 sql示例理解

    前言 事务要解决的是多线程并发修改数据库的问题.Mysql innodb 引擎支持事务.类似 Java 中的各种锁,例如乐观锁(CAS),读写锁,悲观锁.事务也有很多级别. 每个隔离级别要解决的问题都 ...

  10. jquery学习1之对juery对象的细节操作1

    jquery是前台动态页面开发的一个很重要的工具. 一:jquery对象中length属性和size()方法 var a=$("a").length;         var b= ...