安装说明參考openssl源代码目录下INSTALL.W32

step1

环境搭建

安装perl,Visual Studio 2008

下载Openssl最新版源代码.我下的版本号为OpenSSL-1.0.0g.

step2

启动Visual Studio 2008 Command Prompt

执行bin\vcvars32
设置
环境变量

注意:

如遇反馈"此处不应该有/Microsoft",參考错误1.

step3

VS命令行窗体cd至openssl源代码目录

运行下面命令

$perlconfigure VC-WIN32

结果反馈
Configured for VC-WIN32.

注意:

假设想要调试。生成debug版本号运行下面命令

$perlconfigure debug-VC-WIN32

step4

ms\do_ms.bat

ms目录下生成 nt.mak以及ntdll.mak.假设使用静态库,就编译nt.mak,假设使用动态库,就编译ntdll.mak

以nt.mak为例

step5

编译

$nmake -f ms\nt.mak

注意:

清除编译

$nmake -f ms\nt.mak clean

測试库

$nmake -f ms\nt.mak test

如遇错误:

NMAKE : fatal errorU1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\

VC\bin\cl.EXE"': return code '0xc0000135'

參考错误2

如遇错误类似于无法打开某个文件:

d:\openssl-1.0.1g\crypto\cryptlib.h(62): fatal error C1083: Cannot open include

file: 'stdlib.h': No such file or directory

參考错误3

step6

安装

$nmake -f ms\nt.mak install

安装到该磁盘分区 usr/local/ssl

使用openssl

include加入$(ssl_DIR)\include

library加入$(ssl_DIR)\lib

错误1

执行vcvars32.bat,提示此处不应该有/Microsoft,导致环境变量配置失败。

解决方式

环境变量路径去掉双引號

错误2

NMAKE : fatal errorU1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\

VC\bin\cl.EXE"': return code '0xc0000135'

直接运行cl,弹出系统错误对话框。提示缺少mspdb80.dll。

解决方式:加入mspdb80.dll所在路径。

错误3

d:\openssl-1.0.1g\crypto\cryptlib.h(62): fatal error C1083: Cannot open include

file: 'stdlib.h': No such file or directory

解决方式

执行vcvars32命令环境变量设置

or

$setINCLUDE=$(DIR);%INCLUDE%

or

CFLAG加入

/I$(DIR)

參考链接

The#include Directive

Windows编译OpenSSL的更多相关文章

  1. windows编译openssl(64位)一游

    编译openssl,一套标准流程: (环境:  win10 64位os, vs2019) 需要的工具:perl     nasm   openssl源码包 1  安装perl 2  下载nasm,将n ...

  2. [转] Windows下编译OpenSSL

    简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...

  3. Windows编译安装OpenSSL

    windows下使用vs2008中的nmake编译安装openssl的脚本build.bat: echo off & color 0A :: 项目名称 set PROJECT=openssl ...

  4. 在Windows下编译OpenSSL(VS2005和VC6)

    需要说明的是请一定安装openssl-0.9.8a .  openssl-1.0.0我没有编译成功. 如何在Windows下编译OpenSSL (Vs2005使用Vc8的cl编译器)1.安装Activ ...

  5. Windows环境下使用VS2005编译OpenSSL

    如何Windows环境下,使用VS2005编译OpenSSL,虽然这个问题在Baidu.Google上一堆,但安装中还是遇到些问题,在这里 记录下来希望能帮助大家不要在走弯路.注:我是在WinXP S ...

  6. windows 如何编译 Openssl ?

    windows 如何编译 Openssl ? 编译环境 VS2015 Openssl 1.0.2 ActivePerl 5.24.3 x64 编译步骤 安装 ActivePerl 期间,勾选添加至环境 ...

  7. 利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl

    利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl 首先mingw的环境搭建,务必遵循下文: http://blog.csdn.net/ubuntu64fan/ar ...

  8. windows 平台使用 VS2017 编译openssl源码

    windows 平台使用 VS2017 编译openssl源码 1)依赖安装 安装 perl 脚本解释器 下载 http://libevent.net/download 安装 nasm 汇编器 C:\ ...

  9. windows & gcc & mingw & mysy 编译 openssl

    今天有一个项目需要使用到 https, 以前一直用的都是http请求, 用 socket() 实现 https 请求我还真是头一回遇到. 先网上搜索了一下相关资料,明白了 https 相比较 http ...

随机推荐

  1. 使用mongo shell和客户端连接至MongoDB Atlas

    MongoDB Atlas是Mongo官方的一个集群服务,也可以注册并创建一个免费的集群,但DB的大小只有500M,如果数据量不是很大的应用,可以选择该集群方案 需要注意的是,目前我使用的这个集群,服 ...

  2. python spyder 今天突然打不开了【已解决】

    python spyder 我是设置开机启动的,先出现dos窗口,然后是蜘蛛网,后面就什么都没有了.然后百度了半天,在csdn看到一篇文章,试了一下,内牛满面! 方法:C:\Documents and ...

  3. 如何访问mvc 默认的错误页

    在ActionResult 中: public ActionResult Error() { return View("~/Views/Shared/Error.cshtml"); ...

  4. mysql 如何给root用户设置密码

    用root 进入mysql后mysql>set password =password('你的密码');mysql>flush privileges;

  5. POJ1733 Party game [带权并查集or扩展域并查集]

    题目传送 Parity game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10870   Accepted: 4182 ...

  6. upm配置文件

    组件配置说明 Ø 配置文件规范 Ø 组件分为公共组件和私有组件,分别在public段和private段,如下所示. <?xml version="1.0" encoding= ...

  7. 在Spring Controller中将数据缓存到session

    Servlet方案 在Controller的方法的参数列表中,添加一个javax.servlet.http.HttpSession类型的形参.spring mvc会 自动把当前session对象注入这 ...

  8. 洛谷——P1869 愚蠢的组合数

    P1869 愚蠢的组合数 题目描述 最近老师教了狗狗怎么算组合数,狗狗又想到了一个问题... 狗狗定义C(N,K)表示从N个元素中不重复地选取K个元素的方案数. 狗狗想知道的是C(N,K)的奇偶性. ...

  9. [CODE FESTIVAL 2016]Distance Pairs

    题意:有一个未知的边权为$1$的图,给定所有点到$1$的最短路$a_i$和到$2$的最短路$b_i$,问是否存在这样的图,如果存在,问图中最少有多少条边 先考虑$a_i$,有$a_1=0,a_i\ne ...

  10. 【主席树】【最近公共祖先】hdu6162 Ch’s gift

     题意:一棵树,每个点有个权值,m次询问,每次给你一条链和两个值a,b,问你这条链上权值在[a,b]之间的权值的和是多少. std竟然是2个log的……完全没必要链剖,每个结点的主席树从其父节点转移过 ...