安装说明參考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. 解析 Qt 程序在Windows 下发布

    原文请看:http://www.cnblogs.com/elect-fans/archive/2012/03/15/2408579.html Qt 程序在Windows下发布是本文要介绍的内容,不多说 ...

  2. LOJ #6281. 数列分块入门 5-分块(区间开方、区间求和)

    #6281. 数列分块入门 5 内存限制:256 MiB时间限制:500 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: hzwer 提交提交记录统计测试数据讨论 5   题目描述 给出 ...

  3. HDU 4348.To the moon SPOJ - TTM To the moon -可持久化线段树(带修改在线区间更新(增减)、区间求和、查询历史版本、回退到历史版本、延时标记不下放(空间优化))

    To the moon Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total ...

  4. Linux操作命令(五)

    find . -name ”*.c" -exec ./command.sh {} \; 本次实验将介绍 Linux 命令中 find 和 xargs 命令的用法. find xargs 1. ...

  5. 谜题54:Null与Void

    下面仍然是经典的Hello World程序的另一个变种.那么,这个变种将打印什么呢? public class Null { public static void greet() { System.o ...

  6. WHERE 子句中的标量子查询

    标量子查询不仅可以用在SELECT 语句的列表中,它还可以用在WHERE 子句中,而且实际应用中子查询很多的时候都是用在WHERE子句中的. 先来看一个简单的例子,我们要检索喜欢“Story”的读者主 ...

  7. 【BZOJ 3309】DZY Loves Math

    http://www.lydsy.com/JudgeOnline/problem.php?id=3309 \[\sum_{T=1}^{min(a,b)}\sum_{d|T}f(d)\mu(\frac ...

  8. [BZOJ1563][NOI2009]诗人小G(决策单调性优化DP)

    模板题. 每个决策点都有一个作用区间,后来的决策点可能会比先前的优.于是对于每个决策点二分到它会比谁在什么时候更优,得到新的决策点集合与区间. #include<cstdio> #incl ...

  9. AtCoder - 3954 Painting Machines

    题面在这里! 题解见注释 /* 考虑一个可以用 K ((n+1)/2 <= K < n)次染黑的方案, 那么将操作前K次的机器从小到大排序,一定是: a1=1 < a2 < . ...

  10. django框架下celery+rabbitmq+flower完成异步任务

    [转载请注明出处:] http://www.cnblogs.com/yukityan/p/8035787.html 环境: ubuntu16.04 64位 安装: sudo apt-get insta ...