Windows下编译安装openssl

最近项目要用到soap编程,本机测试ok,但是访问远程主机提示tcp_connect()失败,网上说要soap_ssl_init();soap_ssl_client_context();但是编译报错,说是各种错误暂时归结于openssl。于是先搭建openssl环境。

本人系统:window8 64

开发环境:VS2008

准备工具:perl、openssl、nasm、VC

perl:Perl 在 Window 平台上有 ActiveStatePerl 和 Strawberry Perl 编译器。本人使用的是Strawberry Perl 。http://strawberryperl.com/

openssl:不要使用1.1.1版本,此文章发表时最新版本是1.1.1。可以下载1.0.2版本。http://www.openssl.org在download页面推荐选择1.0.2版本

nasm:编译openssl过程中可能会用到nasm,否则提示NASM not found。https://www.nasm.us/

VC:选择VC6或以上版本,本人已使用VS2008,故不赘述。

1.安装perl、nasm

下载perl、nasm,安装过程很简单,一直next即可

2.解压openssl

下载openssl,解压,路径随意,压缩包中有一个总目录,不用怕解压为零散文件

openssl不要选在1.1.1

openssl不要选在1.1.1

openssl不要选在1.1.1

重要的事情说三遍,否则即使过程顺利,结果也不尽如人意。缺少部分东西

3.打开命令行

cd 到openssl的解压目录,就是有apps、bugs、certs等目录的地方

a.执行:perl Configure VC-WIN32

如果没装nasm可能提示NASM not found,所以要安装nasm。并设置环境变量。

b.执行:ms\do_nasm.bat

c.设置VS2008的环境变量,用于执行nmake,nmake默认不能用的,如果能用,忽略此步骤

c:

cd C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin

vcvars32.bat

本人为VS2008开发环境,所以路径如上,其他版本可能路径不一样

d.执行:nmake -f ms\ntdll.mak -a

这是生成静态库+动态库

如果只需要静态库则执行:nmake -f ms\nt.mak -a

网上有说执行ms\do_ms.bat的,可能会报错

tmp32dll\sha1-586.asm(1427) : error A2070:invalid instruction operands
tmp32dll\sha1-586.asm(1571) : error A2070:invalid instruction operands

过程有点久

4.out32dll目录中会有libeay.lib、libeay.dll、ssleay32.lib、ssleay32.dll等很多文件,本人只需要其中的libeay.lib、libeay.dll、ssleay32.lib、ssleay32.dll

inc32\openssl目录中有很多头文件。不是include目录

5.如果需要安装的话可以执行

nmake test

nmake install

也就是编译复制复制过程,默认复制到c:\Program Files(x86)\OpenSSL目录


提取到本人需要的文件就暂时不管了,


猜你喜欢

转载自blog.csdn.net/youyudexiaowangzi/article/details/79985489