OpenSSL在Windows7 32bit + vs2010中win32的编译步骤: 1. 从https://www./source/下载OpenSSL源代码 openssl-1.0.1g版本; 2. 从http://www./activeperl/downloads下载ActivePerl5.16.3 x86(ActivePerl为perl的一个脚本解释器); 3. 将ActivePerl安装到D:\ProgramFiles\Perl64目录下,打开命令提示符,将其定位到D:\ProgramFiles\Perl64\eg 目录下,执行perl example.pl ,若提示Hello fromActivePerl! 则说明Perl安装成功,可以开始使用Perl的相关命令来进行OpenSSL的安装了; 4. 将openssl-1.0.1g解压缩到E:\OpenSSL\openssl-1.0.1g目录下; 5. 从http:///projects/nasm/下载nasm 2.07,将其安装到D:\ProgramFiles\NASM中,并将D:\ProgramFiles\NASM添加到系统环境变量Path中; 6. 将命令提示符定位到E:\OpenSSL\openssl-1.0.1g; 7. 输入perl Configure VC-WIN32 --perfix=E:\OpenSSL\openssl (将其安装到E:\OpenSSL\openssl); 8. 输入ms\do_nasm ; 9. 将命令提示符定位到C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin , 然后输入 vcvars32.bat,会显示Settingenvironment for using Microsoft Visual Studio 2010 x86 tools. 如果没有这一步,会提示nmake不是内部或外部命令; 10. 再次将命令提示符定位到E:\OpenSSL\openssl-1.0.1g; 11. 输入 nmake –f ms\ntdll.mak ;执行完后会在openssl-1.0.1g目录下生成一个out32dll文件夹,里面包含了一些静态库、动态库和.exe文件; 12. 输入 nmake -f ms\ntdll.mak test ;若最终显示passed all tests说明生成的库正确; 13. 输入 nmake -f ms\ntdll.mak install ;则会在E:\OpenSSL\openssl目录下生成bin、include、lib、ssl四个文件夹; 14. 以上编译的是release库,若编译debug库,则将以上第7步中的VC-WIN32改成debug-VC-WIN32即可; 15. 若编译静态库则用ms\nt.mak替换掉上面用到的ms\ntdll.mak即可; 16. 若生成不带汇编支持的库,则需将以上第7、8步用perl Configure VC-WIN32 no-asm --prefix=E:\OpenSSL\openssl 和 ms\do_ms替换即可; 17. 在E:\OpenSSL\openssl-1.0.1g\tmp32dll文件夹下包含相应的汇编文件。 测试编译成功方案:(禁用汇编) OpenSSL在Windows7 32bit + vs2012中win32的编译步骤: 1、解压OpenSSL到系统盘 比如C:\OpenSSL。 2、配置WIN32环境 32位系统打开 VS2012 X86本机命令提示工具 7.1 打开所以程序 7.2 找到Microsoft Visual Studio 2012 7.3 打开VS2012 x86本机命令提示工具 openssl-1.0.1k>perl Configure VC-WIN32 no-asm //禁用汇编 3、进入VC BIN目录,配置VC环境变量 进入VS安装路径VC/Bin目录下,运行: VCVARS32.BAT 设置环境变量。 4、返回OpenSSL目录,创建makefile文件 ms\do_ms //不执行汇编语言编译 该命令不执行汇编语言编译,如报告文末错误,可以尝试ms\do_masm(使用汇编语言)、ms\do_nasm、ms\do_nt等,这几个配置文件是针对不同的系统配置写的批处理。 至于这几个命令区别如下,其它的暂时没用到未深究,有经验之士欢迎赐教。 - If you are using MASM then run: > ms\do_masm - If you are using NASM then run: > ms\do_nasm - If you don't want to use the assembly language files at all then run: > ms\do_ms 5、在Openssl目录下,执行编译 nmake -f ms\ntdll.mak 最终编译动态库完成后,输出都在out32dll目录下:包括可执行文件、两个dll 和两个lib文件: libeay32.dll, libeay32.lib, ssleay32.dll, ssleay32.lib。 如果需要使用openssl命令,还需要在系统环境变量path中增加 c:\openssl\out32dll路径,因为openssl.exe就在该目录下,声明后可以直接在命令行中使用openssl命令。 另外还有几个命令可能会用到: 测试OpenSSL动态库:nmake -f ms\ntdll.mak test |
|