安装说明參考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. es6字符串模板总结

    我们平时用原生js插入标签或者用node.js写数据库语言时候,经常需要大量的字符串进行转义,很容易出错,有了es6的字符串模板,就再也不用担心会出错了 1.模板中的变量写在${}中,${}中的值可以 ...

  2. Windows 10 安装 Mongodb

    因为新换了Windows 10 电脑,需要在新电脑重新安装所有的软件,包括mongodb 下载文件:首先在mongodb的官方网站上下载最新版本的mongodb安装程序,https://www.mon ...

  3. 解决Mysql 服务无法启动 服务没有报告任何错误

    MySQL数据库在升级到5.7版本后,和之前的版本有些不一样,没有data文件夹,我们都知道MySQL数据库文件是保存在data文件夹中的,网上有人说把5.6版本的data文件夹拷贝一个,这种说法听听 ...

  4. 洛谷P1850换教室

    题目传送门 理解题意:给定你一个学期的课程和教室数量以及教室之间的距离还有换教室成功的概率,求一个学期走的距离的期望最小值 题目是有够恶心的,属于那种一看就让人不想刷的题目...很明显的动规,但是那个 ...

  5. Continuous Subarray Sum II(LintCode)

    Continuous Subarray Sum II   Given an circular integer array (the next element of the last element i ...

  6. git "Could not read from remote repository.Please make sure you have the correct access rights."解决方案

    我们在使用git clone 或其他命令的时候,有时候会遇到这类问题,如图: fatal: Could not read from remote repository.Please make sure ...

  7. Flask实战第45天:完成前台登录界面

    我们的注册页面和登录页面有很多相似之处,因此,也可以基于一个模板来实现. 首先创建一个模板html,命名为front_signbase.html, 然后修改注册页面front_signup.html, ...

  8. Jenkins实现CI(Continuous Integration)到CD(Continuous Delivery)

    Pipeline as Code是2.0的精髓所在,是帮助Jenkins实现CI(Continuous Integration)到CD(Continuous Delivery)华丽转身的关键推手.所谓 ...

  9. [BZOJ3214][ZJOI2013]丽洁体(Hash+DP)

    3214: [Zjoi2013]丽洁体 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 906  Solved: 335[Submit][Status] ...

  10. 【动态规划】 Codeforces Round #416 (Div. 2) C. Vladik and Memorable Trip

    划分那个序列,没必要完全覆盖原序列.对于划分出来的每个序列,对于某个值v,要么全都在该序列,要么全都不在该序列.  一个序列的价值是所有不同的值的异或和.整个的价值是所有划分出来的序列的价值之和.   ...