在win7(32bit)下编译openssl

来源:互联网 发布:微软软件开发工具 编辑:程序博客网 时间:2024/06/05 19:56

笔者按照一定的步骤成功了编译了OpenSSL库,步骤如下:

1)在微软网站下载并安装VS Studio,笔者写博客之时的最新版本是2012,连接如下:http://msdn.microsoft.com/subscriptions/downloads/#searchTerm=&ProductFamilyId=529&Languages=en&PageSize=10&PageIndex=0&FileId=0 。

2)从http://www.activestate.com/activeperl/downloads 下载并安装ActivePerl。

3)从http://www.nasm.us/ 下载并安装Nasm汇编器。

4)从http://www.openssl.org/下载并安装OpenSSL的最新Release包。笔者写博客之时,最新的OpenSSL包是:4459777 Feb 11 16:34:23 2013 openssl-1.0.1e.tar.gz (MD5) (SHA1) (PGP sign)  [LATEST]

这里需要强调的是,读者未必需要完全按照笔者的步骤编译OpenSSL库,这里的部分次序是可以互换的。

 

在完成所有上述5步后,我们就可以解压缩OpenSSL包,在对它进行修改便可以编译了。在解压缩后,所有的源代码放在openssl-1.0.1e目录下,在此目录下,有两个文件INSTALL.W32, INSTALL.W64需要被关注。打开其中的任何一个文件,你会看到如何编译OpenSSL的各个步骤。


1)打开VS Studio命令行工具,如图1所示。若编译64位OpenSSL库,请打开Visual Studio x64 Win64 Command Prompt,反之亦然。







2)配置编译文件及安装目录;

         编译Win32:perl Configure VC-WIN32 --prefix=c:\some\openssl\dir

         编译Win64:perl Configure VC-WIN64A

“c:\some\openssl\dir”目录可以改成任何你希望的安装目录


3)搭建编译环境:

         ms\do_nasm

         ms\do_ms


注:

   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:

   > perl Configure VC-WIN32 no-asm --prefix=c:/some/openssl/dir
   > ms\do_ms


对于64位编译,将ms\do_ms替换成ms\do_win64a

4)编译OpenSSL

nmake -f ms\ntdll.mak


5)安装编译生成的库到“c:\some\openssl\dir”

nmake -f ms\ntdll.mak install

在VS2012中添加:

在VC目录选项卡中,添加包含目录和库目录。

在这里,我的包含目录就是刚才解压的OpenSSL目录的include目录,库目录则是lib目录。

注意:分号要是英文分号,英文分号!

20151207162929

接下来选择连接器选项卡,输入libeay32.lib和ssleay32.lib两个附加依赖项。

20151207163915