vs2012编译librtmp(20160810)

  1. 新建一个静态库的空项目(动态库也可以)
  2. 将librtmp文件夹下的h和c文件加入到项目中。文件夹外的代码是rtmpdump示例。
  3. 不需要ssl功能,在预处理器加上NO_CRYPTO。
  4. 在rtmp.c文件中,有一个off_t类型,改成long。如果不改需要加头文件。
  5. 找到RTMP_ClientPacket函数,这里面有一些变量定义不在域开头,需要移到前面来
AMFDataType t;
AVal _result;
AMFObject obj;
double tid;
int nRes;
int i,j;

这几个移到while的开头。因为这是c文件,语法跟c++不一样。vs2015以后编译器就支持了,不需要修改。该项目本身在linux下也是用的较新的gcc才能编过
6. 在rtmp.c搜一下netstackdump,全部注释掉,共三处

//#ifdef _DEBUG
//extern FILE *netstackdump;
//extern FILE *netstackdump_read;
//#endif

//#ifdef _DEBUG
//      fwrite(ptr, 1, nBytes, netstackdump_read);
//#endif

//#ifdef _DEBUG
//  fwrite(buf, 1, len, netstackdump);
//#endif

或者你可以在外面自己实现这两个函数,用来调试的。在外面的rtmpdump代码中应该有。

现在就可以编译成功了。我是在网上查找后,发现都是比较早的针对版本,不能完全解决我的问题,不过总算找到了方法,主要就是第五点都没提到。
ps:其他一些资料提到的zlib,现在是完全不需要的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值