VS2017下编译openssl-1.1.1d.tar.zip
一、准备工作(附件会提供所有)
1.下载VS2017并安装(注:建议更改目录以后,手动添加环境变量,不然各种莫名其妙问题)
下载链接:https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes
2.下载Activeperl并安装,本文用的ActivePerl-5.26.0.2600-MSWin32-x86-64int-403866,主要是想编译32位程序,再有就是官网提供的好像只有最新的64位(注:建议默认路径,不会有稀奇古怪的问题)
下载链接:https://www.activestate.com/activeperl/downloads
3.下载OpenSSL,本文用的是openssl-1.1.1d.tar.gz
下载链接:https://www.openssl.org/source/
附上别人编译好的exe链接:http://slproweb.com/products/Win32OpenSSL.html
4.下载NASM,本文用的nasm-2.13.01-installer-x64.exe(非必须使用项,可以编译时通过参数屏蔽,注:这个也建议默认安装路径,不然会出一些稀奇古怪的问题,建议手动添加上环境变量)
下载链接:http://www.nasm.us/pub/nasm/releasebuilds/?C=M;O=D
二、注意事项
注:所有安装完以后,手动添加完环境变量以后友情提醒:重启!重启!重启!说的就是windows10,不重启会发现一些莫名的问题,如果没有报找不到dmake.exe,不需要安装dmake,也不需要加这个路径;每编译一次,建议将源码压缩包解压一次,用新解压的包进行编译,如果不用新解压的,好像也会出现莫名其妙的问题,例如LNK错误。
三:具体步骤:
1.编译工具(主要还是使用VC编译)
开始=》菜单找到VS2017文件夹中的命令行,因为博主要编译32位的,所以选择32位的,顺带提一下,我安装的VS2017貌似没有“适用于 VS 2017 的 x86 本机工具命令提示符”那就选用如下图的命令提示符吧,注:一定要用管理员身份运行,不然有的问题不报错
2.编译主要OpenSSL命令(参考:好像是源码里有步骤,忘了):
(1)nmake:编译
(2)nmake test:执行自带的例子,如果通过最终会有一个pass
(3)nmake install:生成编译结果
3.具体执行:
(1)需要几个文件夹,OpenSSL源码解压路径(本文:E:\OpenSSL\OpenSSL),生成OpenSSL编译结果路径(本文:E:\OpenSSL)
(2)从上边说的打开的32位的VS2017命令框,因为要编译32位的动态库,将其目录切换到OpenSSL解压路径:
(3)配置参数(编译32位debug动态库,将生成结果生成到E:\OpenSSL路径)
perl Configure debug-VC-WIN32 --prefix=E:\OpenSSL :编译debug版本,不设置这个参数,默认编译release版本
(或者这个:perl Configure VC-WIN32 no-asm --prefix=E:\OpenSSL :这个就是上边说的NASM是非必安装项,通过参数屏蔽)
执行以后会发现和网上编译1.1.0版本显示的不一样,当时我也懵了半天
(4)然后执行nmake,等待编译完成,有可能某个文件会编译很久,需要等待
(5)执行nmake test
执行完所有用例结果如下,会有一个pass
(6)执行nmake install
等待执行完成以后,路径下会自动生成这几个文件夹
至此,编译基本完成,release版本相同操作,只是配置参数不同,如果要编译静态库也是配置参数就行,编译步骤不变
四、一些问题:
(1)Failure! build file wasn't produced. Please read INSTALL and associated NOTES files. You may also have to look over your available compiler tool chain or change your configuration. NASM not found - make sure it's installed and available on %PATH%
解决:安装默认路径,手动添加环境变量,重启
(2)It looks like you don't have either nmake.exe or dmake.exe on your PATH, so you will not be able to execute the commands from a Makefile. You can install dmake.exe with the Perl Package Manager by running: ppm install dmake
解决:使用附件中的Dmake,配置环境变量,重启;或者前边的所有编译软件默认路径安装,添加环境变量,应该不会报这个错,VS不要默认路径
五、附件如下:
附件编译的是openssl-1.1.1g.tar.gz,但是源码openssl-1.1.1d.tar.gz也在附件里
https://download.csdn.net/download/qq_27415615/12689113
更多推荐
所有评论(0)