vs2010 编译x86 x64 openssl zlib librtmp

本文详细介绍了如何使用VS2010编译OpenSSL和zlib的过程,包括安装ActivePerl、配置环境变量、解压源码、运行编译命令等步骤,并针对不同版本的OpenSSL提供了注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vs2010 编译x86  openssl zlib librtmp
编译 openssl
1. 安装 ActivePerl-5.24.0.2400-MSWin32-x64-300558.exe
2. 设置vs2010 环境变量
首先进入到 visual studio指定目录中,
执行命令:cd C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin
执行命令:vcvars32.bat  
3. 首先把openssl-1.0.1c解压放到C盘中,openssl所在目录为:C:\openssl-1.0.1c
然后用命令进入到openssl的目录中:cd C:\openssl-1.0.1
接着实现命令: perl Configure VC-WIN32 no-asm --prefix=D:\src\rtmp\openssl-1.0.1c\x86
注意:当你下载的openssl是高版本的话,如openssl-1.0.2g,需要在这里加上no-asm,表示不使用汇编,如果你不加上的话,
在执行nmake命令时会出错。但是如果下载是openssl-1.0.1c,貌似不用加no-asm也可以成功。
4. 执行命令:“ms\do_ms.bat”
5. 执行命令:“nmake -f ms\ntdll.mak”   //nmake -f ms\ntdll.mak clean  清除x86_64的内容
6. nmake -f ms\ntdll.mak install
成功则会在D:\src\rtmp\openssl-1.0.1c\x86目录下生成bin、include、lib、ssl四个文件夹。


编译 zlib
1. 设置环境变量 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin


首先把zlib-1.2.8.tar.gz解压放到C盘中,zlib-1.2.8所在目录为:C:\zlib-1.2.8
然后用命令进入到openssl的目录中:cd C:\zlib-1.2.8\contrib\masmx86
执行 bld_ml32.bat
2. 到 C:\zlib-1.2.8\contrib\vstudio\vc10目录,打开zlibvc.sln
看到好多项目 zlibstat 是zlib的静态库,zlibvc是zlib的动态库。
修改平台设置win32
生成 zlibstat.lib,拷贝 zconf.h 和 zlib.h 到include路径
记得去掉 宏 ZLIB_WINAPI,但是x64 不去掉也没有报错  
否则报错 1>hashswf.obj : error LNK2019: 无法解析的外部符号 _inflateEnd,该符号在函数 _RTMP_HashSWF 中被引用
1>hashswf.obj : error LNK2019: 无法解析的外部符号 _inflateInit_,该符号在函数 _RTMP_HashSWF 中被引用
1>hashswf.obj : error LNK2019: 无法解析的外部符号 _inflate,该符号在函数 "unsigned int __cdecl swfcrunch(void *,unsigned int,unsigned int,void *)" (?swfcrunch@@YAIPAXII0@Z) 中被引用




vs2010 编译x64  openssl zlib librtmp
和x86编译相似。
建立librtmp静态库工程。和测试rtmp的工程


测试rtmp的是时候
注意:x86的平台两种写法都可以,x64的平台第一种写法都可以,第二种写法会出现栈溢出的错误,原因不清楚


第一种写法
    RTMP *rtmp = NULL;// = { 0 };
    rtmp = RTMP_Alloc();
RTMP_Init(rtmp);


第二种写法
    RTMP rtmp = { 0 };
RTMP_Init(rtmp);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值