Win10环境上使用VS2012编译openssl 1.1.1
1. 计算机环境:Win10家庭中文版
2. 相关软件安装配置及源码下载:
- 安装Microsoft Visual Studio,这里我安装的是Microsoft Visual Studio Ultimate 2012(因为EDK2的环境用的这个,这里懒得重新安装了);这里要注意环境变量的配置;
- 安装ActivatePerl;官网地址:https://www.activestate.com/products/perl/downloads/ 安装过程中会默认会添加环境变量,不过安装完成之后最好检查一下环境变量;在“cmd”里面运行perl –v出现版本可以确认安装成功;或者是进入Perl64\eg路径下,用在“cmd”里面运行“perl example.pl”,出现Hello from ActivePerl!
- 安装nasm:官网下载地址https://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=D 安装完成之后将nasm.exe以及ndisasm拷贝到C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin
- 下载openssl 1.1.1版本 https://www.openssl.org/source/old/1.1.1/
3. 操作步骤:
- 以管理员权限打开“Developer Command Prompt for VS2012”,切换到openssl的源码目录;
- 运行"perl Configure VC-WIN64 --prefix=d:\openssllib",注意这里prefix后面的路径是lib最后的安装路径,也就是产生lib的存放路径,可以根据自己的需求去定义;运行该命令之后出现以下错误提示:
- 如果已经确认配置过VS的环境变量,并且C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin目录下有nmake.exe那么可以直接忽略这一行;直接运行nmake即可;
- nmake编译通过之后直接运行nmake install,这时候可以查看prefix后面的指定目录已经生成,并且有lib相关的文件,可以直接使用;注意,这种情况下编译的是release版本,如果需要编译debug版本,则需要先进行nmake clean再编译debug版本
4. 编译过程中相关的参数说明:
- no-asm:是否在编译过程中使用汇编代码加快编译过程;
- no-shared:是否生成动态链接库;
- no-zlib:是否使用静态的zlib压缩库;
- no-threads:是否编译支持多线程的库;
- no-rfc3779:禁用实现X509 V3证书的IP地址扩展库;
注意:openssl 1.1.0版本以后就不再有ms\do_*.bat这样的文件,所以可以跳过ms\do_ms直接使用nmake;