准备阶段
- 下载Activeperl(5.24.1) 网址:https://www.activestate.com/activeperl/downloads
- 下载nasm汇编器(nasm-2.13rc18-win64) 网址:http://www.nasm.us/
- 下载OpenSSL的 Release包(openssl-1.0.1e) 网址https://www.openssl.org/
- 下载Visual Studio2010(在网上找了很多教程,大家用的都是这个版本,我用过2017版的但是没有成功)
(PS:括号里面是我自己下载的版本,亲测可用)
安装阶段
- 安装Visual Studio2010
需要教程可以自行百度,在此不再赘述 - 安装nasm汇编器
直接安装即可 - 安装AvtivePerl(我安装在C盘根目录下)
使用命令行工具 (windows+R->输入cmd确认)进入C:/Perl64/eg路径下(进入自己安装的\eg目录下),执行“perl example.pl”,若显示“Hello from ActivePerl!”,则说明Perl安装成功。 - 安装openSSL
查教程的时候有看到说直接下载一个安装程序就可以直接用,但是我安装之后是不行的,不知道是不是我没有安对,有兴趣的可以自己尝试一下,这里就不说了,下面介绍用Perl安装openSSL的方法。- 4.1 设置环境变量
我的电脑(WIN10是“此电脑”)->右键属性->高级系统设置->环境变量,选中系统变量中的Path,点击编辑,添加C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin;C:/Perl64/bin;c:/windows/system32
(其中C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin是VS2013的安装路径,C:\Perl64\bin是Perl的安装路径) - 4.2 安装
- 4.2.1 到C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\Shortcuts目录下选中VS2013 x64 本机工具命令提示,右键以管理员身份运行
(这个很关键,之前一直按照教程里面以管理员身份运行Visual Studio的开发人员命令提示,一直是失败的,后来在另外一个教程里面看到针对64位机器的安装方法才恍然大悟,我在文末会贴上原教程的地址) - 4.2.2 进入openssl的目录(我的放在C盘根目录)
cd c:\openssl-1.0.1e - 4.2.3 配置编译文件及安装目录
编译Win64:perl Configure VC-WIN64A --prefix=f:\OpenSSLLib
prefix后面的地址是安装目录,自己设置即可。若没有设置prefix动态库就会安装在out32dll目录下
编译成功会有Configured for VC-WIN64A提示 - 4.2.4 搭建编译环境
对于64位编译,在openssl目录下执行ms\do_win64a - 4.2.5 编译生成OpenSSL动态库
在openssl目录下执行nmake -f ms\ntdll.mak - 4.2.6 安装编译生成的库到 f:\OpenSSLLib
nmake -f ms\ntdll.mak install
成功之后在该目录下会出现bin、include、lib、ssl四个文件夹 - 4.2.7 测试结果
在openssl目录下输入命令nmake -f ms/ntdll.mak test,若成功,会出现passed all tests提示 - 4.3 至此,openssl安装完成
- 4.4 补充指令
测试OpenSSL动态库:nmake -f ms/ntdll.mak test
测试OpenSSL静态库:nmake -f ms/nt.mak test
安装OpenSSL动态库:nmake -f ms/ntdll.mak install
安装OpenSSL静态库:nmake -f ms/nt.mak install
清除上次OpenSSL动态库编译以重新编译:nmake -f ms/ntdll.mak clean
清除上次OpenSSL静态库编译以重新编译:nmake -f ms/nt.mak clean
- 4.1 设置环境变量
Visual Studio 2010设置
- 新建项目
新建WIN32控制台应用程序
(我之前一直选择的都是Visual C++常规创建项目,虽然编译没有问题但是一直无法运行) - 配置内部参数
配置参数这一步每次建立一个新项目都要重新设置
选中项目->右键属性- 2.1 第一行 点击配置管理器->平台->新建->从此处复制设置选择x64确认(我猜测可能是因为是64位系统的原因)
- 2.2 配置属性->VC++6目录
->包含目录,添加f:\OpensslLib\include(根据自己设置的安装目录进行添加)
->库目录,添加f:\OpensslLib\lib(根据自己设置的安装目录进行添加) - 2.3 链接器->输入->附加依赖项
添加libeay32.lib;ssleay32.lib
原教程地址
我找了很多教程,在这里只贴出我有借鉴到的,以表尊重
- http://www.jianshu.com/p/fbdba2750fbc 主要的教程,有好几处关键性的错误都是在这里纠正过来的
- http://www.th7.cn/system/win/201603/154741.shtml 辅助教程,有贴图,较清晰
- http://www.th7.cn/system/win/201501/80695.shtml 这里有一个测试的小程序,可以检验自己设置的VS参数是否正确
安装openssl用了我一天的时间,还好最后成功了。我找了很多教程,大多数教程都大同小异,我综合了很多教程,在这里写这个教程也是希望和我一样的朋友少走一些弯路吧,感恩祝好!