Win10环境上使用VS2012编译openssl 1.1.1

1. 计算机环境:Win10家庭中文版

2. 相关软件安装配置及源码下载:

  1. 安装Microsoft Visual Studio,这里我安装的是Microsoft Visual Studio Ultimate 2012(因为EDK2的环境用的这个,这里懒得重新安装了);这里要注意环境变量的配置;
  2. 安装ActivatePerl;官网地址:https://www.activestate.com/products/perl/downloads/  安装过程中会默认会添加环境变量,不过安装完成之后最好检查一下环境变量;在“cmd”里面运行perl –v出现版本可以确认安装成功;或者是进入Perl64\eg路径下,用在“cmd”里面运行“perl example.pl”,出现Hello from ActivePerl!
  3. 安装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
  4. 下载openssl 1.1.1版本  https://www.openssl.org/source/old/1.1.1/  Win10环境上使用VS2012编译openssl 1.1.1

3. 操作步骤:

  1. 以管理员权限打开“Developer Command Prompt for VS2012”,切换到openssl的源码目录;
  2. 运行"perl Configure VC-WIN64 --prefix=d:\openssllib",注意这里prefix后面的路径是lib最后的安装路径,也就是产生lib的存放路径,可以根据自己的需求去定义;运行该命令之后出现以下错误提示:Win10环境上使用VS2012编译openssl 1.1.1
  3. 如果已经确认配置过VS的环境变量,并且C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin目录下有nmake.exe那么可以直接忽略这一行;直接运行nmake即可;
  4. nmake编译通过之后直接运行nmake install,这时候可以查看prefix后面的指定目录已经生成,并且有lib相关的文件,可以直接使用;注意,这种情况下编译的是release版本,如果需要编译debug版本,则需要先进行nmake clean再编译debug版本

4. 编译过程中相关的参数说明:

  1. no-asm:是否在编译过程中使用汇编代码加快编译过程;
  2. no-shared:是否生成动态链接库;
  3. no-zlib:是否使用静态的zlib压缩库;
  4. no-threads:是否编译支持多线程的库;
  5. no-rfc3779:禁用实现X509 V3证书的IP地址扩展库;

注意:openssl 1.1.0版本以后就不再有ms\do_*.bat这样的文件,所以可以跳过ms\do_ms直接使用nmake;