流媒体之RTMP——librtmp2.4编译

本文详细介绍了如何使用Visual Studio 2015和2017编译librtmp 2.4版本,包括预处理宏定义、兼容性修改、依赖库引入等关键步骤。

文章目录


作者:一步(Reser)
日期:2019.10.9

编译

版本依赖:

  • VS版本:VS2015和VS2017;
  • librtmp版本:librtmp2.4;

编译步骤:

  1. 新建VS静态库项目;
  2. 将librtmp的源码加入工程;
  3. 增预处理加宏定义来忽略一些废弃函数导致的错误报告:
    _CRT_SECURE_NO_WARNINGS;
    _WINSOCK_DEPRECATED_NO_WARNINGS;
  4. 去除rtmp.h文件中的加密设置(不使用OpenSSL):
    //#if !defined(NO_CRYPTO) && !defined(CRYPTO)
    //#define CRYPTO
    //#endif
  5. 修改rtmp_sys.h文件中的一些常用函数定义,这些函数由于VS版本问题名称有些不同,所以要做兼容修改:
    // 修改前:
    #ifdef _MSC_VER	/* MSVC */
    #define snprintf _snprintf
    #define strcasecmp stricmp
    #define strncasecmp strnicmp
    #define vsnprintf _vsnprintf
    #endif
    
    // 修改后:
    #ifdef _MSC_VER	/* MSVC */
    #include <sys/types.h> // off_t
    #define strdup _strdup
    //#define snprintf _snprintf
    #define strcasecmp _stricmp
    #define strncasecmp _strnicmp
    //#define vsnprintf _vsnprintf
    #endif
  6. 去除 netstackdumpnetstackdump_read 字段相关代码,这些字段主要用于debug下的输出;要编译debug版本需要注释这些,否则报错。
  7. 增加ZLib库依赖,librtmp需要依赖Zlib和OpenSSL,由于之前注释了对OpenSSL的依赖,因此只要引入ZLib即可。ZLib的编译很简单,源码目录下有VS项目,直接打开编译即可。
  8. 编译生成librtmp静态库。





评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值