openssl github地址是:https://github.com/openssl/openssl
- 把项目源码下载下来,切换到最新的tag分支,我当前的是OpenSSL_1_1_0.f(前提你已经安装了git),否则就去其官网下载:https://www.openssl.org/source/
- 安装cmake
- 安装ActivePerl,https://www.activestate.com/activeperl/downloads
并添加ActivePerl安装根路径到系统path环境变量中 - C,C++编译环境(推荐Visual Studio能最新就最新,我用的vs2013)
- Netwide Assembler(NASM),地址:http://www.nasm.us ,注意只有这个支持,其他的不行
在OpenSSL源码目录下有两个文件,分别是INSTALL和NOTES.WIN,可以用记事本或者notepad打开,里面有详细的介绍。但是,这里有个但是!还是会有一些坑的,下面将讲到。
从上述的INSTALL文件中了解到windows下面编译并安装的步骤:
第一步:进入命令行,将路径切换到
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin (这个路径根据你自己安装的Visual Studio的路径来定)。输入命令:vcvars32.bat ,执行批命令。
此步骤是初始化VC环境
第二步:切换路径到之前下载的OpenSSL源码根目录,例如我的是:
C:\openssl-1.1.0f
输入命令:perl Configure VC-WIN32
注意:这里假如没有安装NASM的话是会报错的,所以提前安装好。
第三步:输入:nmake 命令,执行 (这里有坑!!!)
首先说我踩到的坑吧,在这步命令执行中报了stddef.h no such file or directory错误,此时从它的错误提示信息大致可以分析得到是因为C:\openssl-1.1.0f\include\openssl目录下有个aes.h的头文件引用到了一个stddef.h的头文件,但是却找不到其路径,这时候我们搜索VC下面的文件发现的确存在,但是其目录并没有添加进入到全局path中,所以报错了!将下面路径添加到系统path环境变量中就能解决:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include
第四步:第三步编译成功之后,执行下面命令安装
nmake test 这个是用来测试第三步编译之后,一些测试代码是否能通过
nmake install 正式安装命令
假如没报错,代表成功!好像只要前面没有错误,第四步一般不会报错,假如有问题的可以与我沟通~
安装成功之后,默认的路径是在C:\Program Files (x86)\OpenSSL下,并且在bin目录下会有一个openssl.exe的文件,此时就大功告成了!
当然这个安装目录也是可以通过第二步的参数来设定的,具体的话自己去看INSTALL文件中最下面的命令介绍。