文章目录

  • 编译准备
  • 编译过程
  • 编译问题

编译准备

  1. librtmp依赖 openssl、zlib。
  2. openssl的编译请看 openssl源码编译。
  3. zlib的编译请看windows 编译zlib
  4. rtmpdump源码:RTMPDump

编译过程

  1. rtmpdump 源码规模不大,并且后续要做跨平台构建,所以自己写CMakeLists.txt 构建。

编译问题

  1. 问题描述:rtmp_sys.h系统库中 ucrt/errno.h 对 宏EWOULDBLOCK 的定义冲突
    问题定位:检查 ucrt/errno.h 发现,如果没有预定义 _CRT_NO_POSIX_ERROR_CODES,则定义 EWOULDBLOCK
    解决方法:CMakeLists.txt中增加 add_definitions(-D_CRT_NO_POSIX_ERROR_CODES) 避免ucrt中预定义。
  2. 问题描述:rtmp_sys.h系统库中 ucrt/stdio.h 对 宏vsnprintf 的定义冲突

    问题定位:检查源码后确认,两份源码对该宏/方法的使用、及参数列表的定义完全一致。
    解决方法:考虑到rtmp源码仅有一处宏定义,影响较小,删除 rtmp_sys.h 中 宏vsnprintf的定义。
    备注:宏snprintf 存在相同问题。
  3. 问题描述:“ctx”使用未定义的 struct“hmac_ctx_st”
    问题定位:网上搜了相关问题的解决方案,找到 OpenSSL 1.1.0 Changes,该文档内提及自1.1.0开始,openssl将所有的结构体定义从头文件移至源码文件中。
    解决方法:有两种方法

    1. 降级使用1.1.0以下的openssl,我采用该方法。
    2. 修改rtmp引用的ssl相关接口,更新至1.1.0+的新接口。

windows编译librtmp相关推荐

  1. OGRE 2.1 Windows 编译

    版权所有,转载请注明链接 OGRE 2.1 Windows 编译 环境: Windows 7 64Bit Visual Studio 2012 OGRE 2.1 CMake 2.8.12.1 OGRE ...

  2. DCNv2 windows编译2021

    2019年曾经写过一篇DCNv2 windows编译的博客 https://blog.csdn.net/jacke121/article/details/91355170 当时vs2015是编译成功的 ...

  3. Cef mysql.exe_CEF3.2623使用记录:windows编译

    CEF3.2623使用记录:windows编译 1:cef3.2623下载地址 2623是cef3最后一个支持xp系统的版本,且可以支持html的audio标签,可以用作对html音频的处理下载地址为 ...

  4. LibreCAD for windows 编译

    LibreCAD for windows 编译 项目中要用到平面CAD功能,找到libreCAD,发现不很适合需求,需要重新改造一下:)要改造就要编译: 1.下载源码解压到H盘 2.用notepad+ ...

  5. 编译librtmp for Android

    librtmp是一个强大的rtmp开源库,近期的一个Android项目涉及rtmp之类的技术,之前用ffmepg的时候也用到过它,那时候只是作为一个模块将librtmp作为第三方库编到ffmpeg里( ...

  6. FreeRDP 2.0 for Windows 编译

    简介 Freerdp 一个开源的RDP跨平台客户端: https://github.com/FreeRDP/FreeRDP 版本 2020-04-09 Github上其发布了2.0版本: 只下载其re ...

  7. Windows编译FreeRDP

    Windows编译FreeRDP 需要准备的工具 1.安装CMake (cmake-gui) 2.安装`Visual Studio Community 2017` 3.下载`FreeRDP`源码 4. ...

  8. windows编译g20问题解决记录

    windows编译g20问题解决记录 error C3861: 'vasprintf': identifier not found 参考链接 here

  9. Windows编译安装AzerothCore魔兽世界开源服务端Lua脚本引擎Eluna和防作弊anticheat模块教程

    Windows编译安装AzerothCore魔兽世界开源服务端Lua脚本引擎Eluna和防作弊anticheat模块教程 大家好,我是艾西今天和大家聊聊魔兽世界游戏内的脚步以及防作弊模块 Eluna是 ...

  10. windows编译libzip vs2017

    windows编译libzip vs2017 1 下载 2 打开工具 3 编译zlib 4 编译libzip 链接 参考: 原创文章禁止转载 同步发布http://www.alom.com.cn/ 1 ...

最新文章

  1. Java 多线程爬虫及分布式爬虫架构探索
  2. 0.0 Introduction-机器学习笔记-斯坦福吴恩达教授
  3. SAP为什么并购sybase
  4. [Unity3D]Unity3D游戏开发Lua随着游戏的债券(于)
  5. 《像计算机科学家一样思考Java》—— 导读
  6. js 栈(进制转换)
  7. numpy.cov() 计算协方差矩阵
  8. C++STL笔记(X):栏位宽度、填充字符、位置调整
  9. LNMP 1.2/1.3+升级Nginx、MySQL/MariaDB、PHP教程
  10. Gsonformat
  11. ​ java获取中文拼音首字母​
  12. 计算机网络工程师 一共几级,2020年计算机软考网络工程师中级多少分过
  13. : error: control reaches end of non-void function [-Werror=return-type]
  14. 当我们在谈论瑞幸咖啡的时候,我们谈论什么?
  15. javaweb验证码明明输入正确却还是提示错误,验证码session不同步、不一致问题
  16. linux 怎么临时修改ip,linux中临时、永久修改ip(示例代码)
  17. 谈Objective-C Block的实现(转载唐巧)
  18. java 登录界面加验证码_java 做登陆窗口,带有用户名和密码输入框和验证码。求修改...
  19. greenplum官方监控工具 GPCC 安装、升级、卸载
  20. 1.TCL/TK脚本学习——入门基础

热门文章

  1. linux源码分析汇总
  2. Activiti 流程配置可视化:SpringBoot 集成 Activiti6 + Activiti Modeler
  3. Unity3D设置天空盒skybox
  4. kitti数据集label解析和可视化教程
  5. xtrabackup 原理详解
  6. python中pdfplumber解析pdf_Python中pdfplumber如何提取pdf中的表格数据
  7. php openoffice,php实现openoffice转pdf的方法
  8. MacOS壁纸文件夹如何查找
  9. 2019上半年软考试题(转)
  10. 用阿里云盘,找不到资源怎么办???