文章目录
作者:一步(Reser)
日期:2019.10.9
编译
版本依赖:
- VS版本:VS2015和VS2017;
- librtmp版本:librtmp2.4;
编译步骤:
- 新建VS静态库项目;
- 将librtmp的源码加入工程;
- 增预处理加宏定义来忽略一些废弃函数导致的错误报告:
_CRT_SECURE_NO_WARNINGS; _WINSOCK_DEPRECATED_NO_WARNINGS; - 去除rtmp.h文件中的加密设置(不使用OpenSSL):
//#if !defined(NO_CRYPTO) && !defined(CRYPTO) //#define CRYPTO //#endif - 修改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 - 去除
netstackdump和netstackdump_read字段相关代码,这些字段主要用于debug下的输出;要编译debug版本需要注释这些,否则报错。 - 增加ZLib库依赖,librtmp需要依赖Zlib和OpenSSL,由于之前注释了对OpenSSL的依赖,因此只要引入ZLib即可。ZLib的编译很简单,源码目录下有VS项目,直接打开编译即可。
- 编译生成librtmp静态库。
本文详细介绍了如何使用Visual Studio 2015和2017编译librtmp 2.4版本,包括预处理宏定义、兼容性修改、依赖库引入等关键步骤。
3290

被折叠的 条评论
为什么被折叠?



