librtmp 64位编译过程

编译方式:1.mingw, 2. visual studio编译工具编译;
说明:
1.mingw 的方法比较简单,下载64位的mingw ,新版的mingw 和msys是分开的,但是不影响,配置好环境变量,进入msys 编译界面,熟悉linux 的基本没有问题。
2. 第二种方式,需要安装ActivePerl 和nasm,这个主要是windows 下的perl 脚本和nmake作用,都需要注意的是,设置环境变量。

下载地址:
rtmpdump:http://rtmpdump.mplayerhq.hu/download/rtmpdump-2.3.tgz

openssl:http://www.openssl.org/source/

ActivePerl:
http://downloads.activestate.com/ActivePerl/releases

zlib: http://cdnetworkskr-1.dl.sourceforge.net/project/libpng/zlib/

nasm-2.10.01-installer:
http://www.nasm.us/pub/nasm/releasebuilds
下载版本需要注意的是,ActivePerl版本和 openssl版本的对应关系,openssl最新的代码要求perl版本5.10, 而 ActivePerl最新版本没有那么高的perl脚本,这是外国人对国内技术的封锁表现,都是用他们用旧了的版本。

编译:
主要讲解openssl 编译,这个编译过了,后面的问题就很好解决,这里讲的是第二种编译,通过visual studio编译工具。
首先,在PC的左下角的启动项中,找到“所有程序”,在程序中找到“Microsoft Visual Studio XX ”点开,找到“Visual Studio Tools” 点开,这个时候是选择编译版本,编译32位的博客很多,需要编译64位的,点开X64,进入后台编译界面。
其次,cd 进入你的“Visual Studio”安装目录,选择你安装的最高版本,进入…/VC/bin/目录下。 此时,如果是32位,直接输入vcvars32bat 按Enter 运行。如果是64位的,再进入../VC/bin/amd64目录,vcvars64.bat 按Enter运行。

再次,切换目录,进入openssl 目录,通过Perl脚本启动Configure文件;
32位的输入 perl Configure debug-VC-WIN32 no-asm –prefix=”X:\openssl\lib” //debug版本。lib是自己手动创建的目录,是放编译后的库用的
perl Configure VC-WIN32 no-asm –prefix=”X:\openssl\lib”
//relase版本
注意 64位的变化:
perl Configure VC-WIN64A no-asm –prefix=”X:\openssl\lib”

接着
启动.bat文件
32位 ms\do_ms.bat
64位 ms\do_win64a.bat

静态库
nmake -f ms\nt.mak
nmake -f ms\nt.mak install

动态库
nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak install

编译参照网址:
https://my.oschina.net/jathon/blog/1610759

zlib 的编译资料很少,因为简单,我这里也简单说一下
下载的zlib是直接可以用visual studio打开的,直接编译的,但是需要注意几点:
首先要找到启动VS 的*.sln文件
目录为::zlib-xxx\contrib\vstudio
根据自己的VS 版本选择最高的版本,启动visual studio
注意,选择VS的版本,一般默认是32位的,64位的需要新建一个,具体步骤网上查一下,这里切到X64,也就是64位编译,选择zlibstat 项目编译,看编译完后的信息,可以找到库位置。zlib-xxx\contrib\vstudio\vc12\x64\ZlibStatDebug
参考网址:
http://www.cnblogs.com/MrOuqs/p/5751485.html

librtmp编译要繁琐一些,主要是解决错误,主要原因是这个库提供的是linux 版本,编译windwos版本需要做平台纠错。
先用visual studio建立编译动态库或者静态库的工程,导入前面编译的openssl 库和zlibstat库,导入相关库的头文件和动态库、静态库,再设置visual studio 的导入库头文件地址、库地址、库名等,如果不会网上查一下。平台切到X64

上面说了纠错是主要任务,这里就不一一说,纠错可以查看网址:https://blog.csdn.net/fireroll/article/details/8607927
这里说一下,如果上面没有的,或者比较特别的错误,一般都是库的错误,需要自己去查看一下,说几个比较少见的错误,上面的网址没有
HMAC_CTX *ctx;的HMAC_CTX没有定义,这个错误,如果自己改库,那就错了,这是openssl库的问题,查看一下这个库,编译是否正确,对应的32位还是X64的。头文件是否遗漏等;
MDH *dh错误也是openssl 库问题;这个是openssl 的crypto库问题在visual studio 的预处理设置NO_CRYPTO,错误就去掉了

off_t off;这个错误主要是zlibstat库的问题,这个问题需要检查zlibstat库的头文件,因为zlibstat没有归纳头文件,所以,只要把项目下的*.h头文件拷贝到项目下,设置好路径,就能解决。

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值