在win7(32bit)下编译openssl完整过程

时间:2022-08-13 06:37:23

本文主要参考网上的一些教程,但是感觉都写的比较乱,杂,不知道参考哪一个,然后我就一个一个混合着试,一下总结出自己的方法:

1.安装nasm,配置环境变量 path中添加 nasm根目录,可在cmd中输入nasm验证

2.将awk.exe复制到c:/windows目录下

3.编译zlib软件,从vs2005下进入命令行(打开vs2010 tool -->  visual studio command prompt),然后再进入zlib的目录 然后使用命令:

nmake -f win32\Makefile.msc 

4.下载openssl-1.0.1c   http://www.openssl.org/source/解压(我是解压到ssl目录中),继续(不要关闭dos)进入ssl的目录中,然后运行:

mkdir c:\openssl_lib
perl Configure VC-WIN32 --prefix=c:/openssl_lib(把平台配置为VC-WIN32,配置openssl的安装目录)
如果使用的是nasm就运行下面的命令(如果不是请查看官方的帮助手册,也比较简单,参数问题)
ms\do_nasm.bat   ------或者ms\do_ms.batnmake -f ms\nt.mak      #编译静态库,生成文件在out32文件夹下nmake -f ms\ntdll.mak     #编译动态库,生成文件在out32dll文件夹下,这两个可以选择编译一个就行

5.OK,主要是要从vs的那个命令行里面进去才能运行如nmake之类的命令,否则出错

在win7(32bit)下编译openssl完整过程

如果一切正常,你会获得一些dll文件和exe文件,他们存放在out32dll文件夹中。
//如果你想要测试文件,那么使用命令:
nmake -f ms\ntdll.mak test
//要安装openssl的话,使用命令:
nmake -f ms\ntdll.mak install

在使用VC编译之后生成的是在out32dll里面的libeay32.lib以及ssleay32.lib这两个静态库,以及libeay23.dll和ssleay23.dll两个动态库。

(在dos下查看openssl版本的时候提示一个warning,不能打开conf文件,不知道什么问题,始终没搞定,如有高人解决,求指教。但是我最终只需要那么几个文件,而且我的apache里面有单独的ssl.conf,所以apache加载openssl模块的话,拷贝这里生成的dll和exe过去应该没有问题)

以上提到的软件可以在这里下载