美文网首页
2020-08-28 Windows下编译librtmp

2020-08-28 Windows下编译librtmp

作者: Wonton_skin | 来源:发表于2020-08-29 00:40 被阅读0次

1、下载最新的rtmpdump源码,下载路径:http://git.ffmpeg.org/rtmpdump

PS:当前最新版本为v2.4,rtmpdump-c5f04a5.tar.gz

2、新建VS空项目,添加解压后的librtmp目录下所有 *.c  *.h 文件

3、项目 =》属性 =》常规  ,配置项目的配置类型,选择动态库(.dll)

4、项目 =》属性 =》C/C++ =》预处理器 ,配置如下3项预定义宏:NO_CRYPTO;CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS

PS:NO_CRYPTO不加密宏,故无须编译链接openssl

5、项目 =》属性 =》连接器 =》输入 ,t添加附加依赖项:ws2_32.lib

6、修改rtmp_sys.h和rtmp.c文件,如下图所示

7、编译,即可生成librtmp.dll,但是没有生成librtmp.lib

PS:由于windows在动态链接的时候,必须从dll文件对应的lib文件里面寻找可链接程序的标志符,因此当你编译生成一个动态库的时候,必须生成相应的lib文件。

8、使用 _declspec(dllexport)与_declspec(dllimport),产生librtmp.lib 

__declspec(dllexport)的作用,它就是为了省掉在DEF文件中手工定义导出哪些函数的一个方法。

PS:__declspec(dllimport)是为了更好的处理类中的静态成员变量的,如果没有静态成员变量,那么这个__declspec(dllimport)无所谓

9、使用vs生成 ibrtmp.dll 时,同时产生librtmp.lib  (此方法对于extern的全局变量失效,请用上述8来解决)

在工程上右键 -> 添加 -> 新建项 -> 选"模块定义文件(.def)" -> 随便输入个名字(例如:librtmp.def) -> 添加;

手动编辑librtmp.def 文件,如下图:

相关文章

  • 2020-09-05 Windows下编译ffmpeg+libr

    Q:Windows下编译ffmpeg+librtmp,出现如下无法链接问题。 librtmp.o : error ...

  • 2020-08-28 Windows下编译librtmp

    1、下载最新的rtmpdump源码,下载路径:http://git.ffmpeg.org/rtmpdump PS:...

  • 编译 librtmp (Windows VS2017)

    下载 librtmp rtmpdump-2.3-windows.zip 下载 librtmp 的依赖 zlib z...

  • RTMP

    编译集成librtmp可以用git下载: 编译librtmp,arm64的需要使用21. 修改Configure阶...

  • librtmp 编译

    windows平台 Librtmp 目前依赖的库有zlib-1.2.8 和polarssl-1.2.0-gpl, ...

  • Android集成libRtmp

    librtmp下载: http://rtmpdump.mplayerhq.hu/download/librtmp下...

  • Golang交叉编译

    一、Mac下编译Linux 和 Windows 二、Windows下编译Mac和Linux 三、Linux下编译M...

  • librtmp 编译集成

    RTMPDump RTMPDump 是一个用来处理RTMP流媒体的开源工具包。它能够单独使用进行RTMP的通信,也...

  • Golang交叉编译使用

    Linux下编译 Windows程序 Windows下编译Linux程序 GOOS:系统平台GOARCH:CPU类...

  • golang交叉编译

    Mac 下编译 Linux 和 Windows 64位可执行程序 linux 下编译 Mac 和 Windows ...

网友评论

      本文标题:2020-08-28 Windows下编译librtmp

      本文链接:https://www.haomeiwen.com/subject/dvqdsktx.html