windows 下 用 Visual Studio 2017 编译 librtmp
程序员文章站
2022-06-17 08:46:25
...
第一、下载 librtmp (rtmpdump)源码,把 librtmp目录下的 非 .h 和 非 .c 文件 全部删除掉
第二、用 Microsotf Visual Studio 2017 创建一个 静态库 (lib)项目,将librtmp目录下的所有 .h 和 .c 文件 加载到 此 项目中。
第三、打开 rtmp_sys.h 文件 ,找到并注释掉下面的三句 语句:
#ifdef _WIN32
#include <winsock2.h>
#include <ws2tcpip.h>
#ifdef _MSC_VER /* MSVC */
**//#define snprintf _snprintf //此句注释掉**
#define strcasecmp stricmp
#define strncasecmp strnicmp
**//#define vsnprintf _vsnprintf //此句注释掉**
#endif
#define GetSockError() WSAGetLastError()
#define SetSockError(e) WSASetLastError(e)
#define setsockopt(a,b,c,d,e) (setsockopt)(a,b,c,(const char *)d,(int)e)
**//下面这句注释掉
//#define EWOULDBLOCK WSAETIMEDOUT /* we don't use nonblocking, but we do use timeouts */**
#define sleep(n) Sleep(n*1000)
#define msleep(n) Sleep(n)
#define SET_RCVTIMEO(tv,s) int tv = s*1000
#else /* !_WIN32 */
第四、打开rtmp.c 文件 找到 static struct urlopt { 这句
在其前面 添加一句 :
typedef long off_t;
第五、在 项目 – 属性 – c\c++ – 预处理器 — 预处理器定义中
添加以下宏:
NO_CRYPTO
_CRT_NONSTDC_NO_DEPRECATE
_CRT_SECURE_NO_WARNINGS
_WINSOCK_DEPRECATED_NO_WARNINGS
其中 NO_CRYPTO 是不打开openssl
第六、在 项目 – 属性 – c\c++ – 预编译头 中 设置成 不使用预编译头
第七、 编译、链接 通过
推荐阅读
-
Windows下Visual Studio 2017安装配置方法图文教程
-
Windows下用PyCharm和Visual Studio开始Python编程
-
google gflags库在Windows+Visual Studio2017环境下的安装与使用
-
windows下使用Visual Studio编译可以调试的FFmpeg
-
基于visual studio 2017在Windows平台下编译FFmpeg
-
CZMQ 在windows下编译,visual studio 2015 为例
-
windows 下 用 Visual Studio 2017 编译 librtmp
-
Windows下Google Protobuf Visual Studio自动编译脚本示例
-
Windows10下使用Visual Studio Code编译C代码
-
OpenCV 3.4.1在windows 10 64位和Microsoft Visual Studio 2017下的安装与环境配置