windows下编译用于VS2017的openssl
3、cd进入解压根目录,如我的解压根目录:D:\WorkSDK\openssl-1.0.2r
(4)、将我们需要的头文件及lib文件拷贝至我们设置的目录:
说句无聊的,真是好记性不如烂笔头,一年前曾经因为项目要从vs2010升级到2015,已经编译过一次,但这次升级vs2017,再次编译已经完全忘了步骤。
编译结果下载地址:https://download.csdn.net/download/y601500359/11192634
首先:准备工作。
1. 主编译工具:Visual Studio 2017
2. Active Perl , 下载地址 : https://www.activestate.com/activeperl/downloads
3. OpenSSL , 下载地址:https://www.openssl.org/source/
这里就不细说了。
其次,编译。
1、解压OpenSSL
2、打开vs2017命令行工具
3、cd进入解压根目录,如我的解压根目录:D:\WorkSDK\openssl-1.0.2r
cd D:\WorkSDK\openssl-1.0.2r
4、配置config脚本
a、编译release32位:
perl Configure VC-WIN32
b、编译release64位:
perl Configure VC-WIN64A
c、编译debug32位:
perl Configure debug-VC-WIN32
d、编译debug64位:
perl Configure debug-VC-WIN64A
我的例子是编译release32位:
备注:相关参数后面会详细说。
5、创建makefile文件
a、创建32位makefile文件:
ms\do_ms.bat
b、创建64位makefile文件:
ms\do_win64a.ba
6、执行编译命令
(1)、编译动态库:
//编译dll
nmake -f ms\ntdll.mak
//测试dll
nmake -f ms\ntdll.mak test
//将dll拷贝至我们设置的目录,默认目录是\usr\local\ssl,比如,我是源文件项目在D盘,那么我的默认目录
//D:\usr\local\ssl
nmake -f ms\ntdll.mak install
(2)、编译静态库:
//编译lib
nmake -f ms\nt.mak
//测试lib
nmake -f ms\nt.mak test
//将lib拷贝至我们设置的目录,默认目录是\usr\local\ssl,比如,我是源文件项目在D盘,那么我的默认目录
//D:\usr\local\ssl
nmake -f ms\nt.mak install
动态库能够顺利变过,这里说说编译静态库会遇到的问题:
问题一、
如果出现下图错误,那么在我们第四步,配置config脚本命令修改如***:release,及其他如64位,同理。
perl Configure VC-WIN32 no-asm
然后重复做一下接下来的步骤。
然而又会出现以下错误:
解决办法:清理工程,重新编译
nmake -f ms\nt.mak clean
make -f ms\nt.mak
编译成功:
生成目录:D:\WorkSDK\openssl-1.0.2r\out32
(3)、查看库是否有问题:
nmake -f ms\nt.mak test
(4)、将我们需要的头文件及lib文件拷贝至我们设置的目录:
nmake -f ms\nt.mak install
由于我们没有设置目录,所以默认/usr/local/ssl/lib/。
那么怎么设置我们自定义目录呢,在设置config配置脚本时,加上如下命令:
perl Configure VC-WIN32 --prefix=D:/WorkSDK/openssl-1.0.2r/lib
至此编译结束,而为什么,本文不一步到位的原因是因为我个人在编译过程中出现这些问题,可能部分人也会遇到,做一个提示作用。
总结,以编译静态release 32位为例:整体编译步骤:
perl Configure VC-WIN32 no-asm --prefix="D:\WorkSDK\openssl-1.0.2r\build-vc17-win32-lib"
ms\do_ms.bat
nmake -f ms\nt.mak
nmake -f ms\nt.mak test
nmake -f ms\nt.mak install
nmake -f ms\nt.mak clean
上一篇: 博弈论
推荐阅读
-
Windows环境下的RTKPlot_Qt版本编译时遇到的问题和解决方法
-
windows下开发并编译PHP扩展的方法
-
Windows7下安装 Nodejs 并在 WebStorm 9.0.1 下搭建编译 LESS 环境的图文教程
-
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
-
Windows下Python3在没有Make的情况下实现C++多文件编译脚本
-
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
-
VMware共享windows下的文件夹,编译时出现“Value too large for defined data type”错误
-
scratch_blocks项目在windows下无法编译的坑
-
Windows10下VS2017编译MQTT C与编译MQTT C++
-
VS2017、QT5.12.1环境下的VTK8.0编译过程记录