rtmpdump在vs2015下的编译

这里就不对编译错误进行截图了,直接上解决方案。


第一步修改rtmp_sys.h文件,将_WIN32宏下 的内容修改为以下内容


#include <winsock2.h>

#include <ws2tcpip.h>


#if defined(_MSC_VER) && (_MSC_VER < 1900) /* MSVC */
#define snprintf _snprintf
#define vsnprintf _vsnprintf
#endif
#define strncasecmp strnicmp
#define strcasecmp stricmp

typedef __int64 off_t;

#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


第二步修改vs工程配置,在工程-->属性-->C/C++-->预处理器-->预处理器定义 中添加以下宏


_CRT_NONSTDC_NO_DEPRECATE
_CRT_SECURE_NO_WARNINGS
_WINSOCK_DEPRECATED_NO_WARNINGS


清理工程,重新编译,全部通过。

猜你喜欢

转载自blog.csdn.net/tanningzhong/article/details/80007495