博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows编译OpenSSL
阅读量:4121 次
发布时间:2019-05-25

本文共 1401 字,大约阅读时间需要 4 分钟。

安装说明参考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命令行窗口cdopenssl源码文件夹

执行以下命令

$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)

 

参考链接

转载地址:http://zwppi.baihongyu.com/

你可能感兴趣的文章
127个超级实用的JavaScript 代码片段,你千万要收藏好(上)
查看>>
【视频教程】Javascript ES6 教程27—ES6 构建一个Promise
查看>>
【5分钟代码练习】01—导航栏鼠标悬停效果的实现
查看>>
127个超级实用的JavaScript 代码片段,你千万要收藏好(中)
查看>>
8种ES6中扩展运算符的用法
查看>>
【视频教程】Javascript ES6 教程28—ES6 Promise 实例应用
查看>>
127个超级实用的JavaScript 代码片段,你千万要收藏好(下)
查看>>
【web素材】03-24款后台管理系统网站模板
查看>>
Flex 布局教程:语法篇
查看>>
年薪50万+的90后程序员都经历了什么?
查看>>
2019年哪些外快收入可达到2万以上?
查看>>
【JavaScript 教程】标准库—Date 对象
查看>>
前阿里手淘前端负责人@winter:前端人如何保持竞争力?
查看>>
【JavaScript 教程】面向对象编程——实例对象与 new 命令
查看>>
我在网易做了6年前端,想给求职者4条建议
查看>>
SQL1015N The database is in an inconsistent state. SQLSTATE=55025
查看>>
RQP-DEF-0177
查看>>
Linux查看mac地址
查看>>
Linux修改ip
查看>>
MySQL字段类型的选择与MySQL的查询效率
查看>>