OpenSSL 静态、共享编译,解决ms\do_ms报错
来源:互联网 发布:php 开源网盘系统 编辑:程序博客网 时间:2024/06/18 07:05
本文档中包含,VS2010 、VS2015下编译OpenSSL,以及交叉使用下的问题。
安装环境:
操作系统:window10(64位)
C++编译器:VS2010 除了VS2010 我电脑上还有VS2015 ,这个不影响后面的编译。
工具下载: (下载正确的包才是后面顺利进行的前提)
1)下载ActivePerl:最新版即可。如果要编译32位的OpenSSL一定要选择下载Win32的ActivePerl。
下载地址:http://www.activestate.com/activeperl/downloads/ (安装过程只要按照Windows下一般程序的安装步骤进行即可)
安装完成之后,系统环境变量应该就已经有Perl了,如果没有自行添加,如下图。
2)下载openssl-1.0.2l 并解压(注意其他版本,有些版本并不适合各个教程,下方有说明)
下载地址:http://www.openssl.org/source/(建议解压后的文件路径为C:\openssl,PS:只是为了下文的内容匹配,并且方便寻找,其他路径也无不影响)。
3)下载NASM
下载地址:http://nasm.sourceforge.net/
安装,配置环境变量
1)首先设定好环境变量2)使用Visual Studio命令提示(2010)进入控制台模式
使用cd命令将目录指向C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin(PS:自己的VC安装路径), 命令行键入vcvars32,运行vcvars32.bat..完成后进入OpenSSL源码的目录(C:\openssl)
3)执行Configure命令(配置编译参数)(需将目录跳到OpenSSL源码目录下)
在命令行中键入"perl Configure VC-WIN32 --prefix=c:\openssl"(PS:--prefix=c:\openssl命令为指定安装位置)
4)运行ms\do_nasm命令(需将目录跳到OpenSSL源码目录下)
5.1)要生成共享DLL,运行“nmake -f ms\ntdll.mak”命令进行代码编译(需将目录跳到OpenSSL源码目录下)
5.2)要生成静态LIB,运行“nmake -f ms\nt.mak”命令进行代码编译(需将目录跳到OpenSSL源码目录下)
6)测试使用命令“nmake -f ms\ntdll.mak test”(若安装成功则可以使用此命令来验证)
在项目中用的时候,头文件在 .\inc32\openssl 文件夹下,共享Dll文件在 .\out32dll 文件夹中,静态LIB在 .\out32文件夹中。
用VS2010 静态编译生成的库,在VS2015 下链接会出现下面的错误。
有两种解决办法:
1.在项目的平台工具集中选择VS2010,重新生成项目,这中方法需要电脑中有安装VS2010。
2.用VS2015的开发环境,对OpenSSL重新编译。
系统环境变量设置:
选择VS2015 x86 本机工具命令提示符
命令输入和VS2010一样,如下图。
- OpenSSL 静态、共享编译,解决ms\do_ms报错
- 关于windows系统编译openssl遇到的ms\do_ms不是内部或外部命令的解决方法
- windows下安装OpenSSL+vs2010(不使用ms\do_ms命令)
- 解决php编译报错configure: error: Cannot find OpenSSL's <evp.h>
- 编译报错解决。
- openssl编译出错解决
- 解决在win7中用vs2010编译openssl中出现把警告当做错误的报错问题
- openssl vs2015编译静态库
- Qt下使用OpenCV2.3.1静态编译报错,解决过程记录
- 如何避免编译nginx-openssl 的时候报错
- 编译报错及解决
- 解决RegexKitLite编译报错
- 解决RegexKitLite编译报错
- 解决RegexKitLite编译报错
- 解决RegexKitLite编译报错
- 解决RegexKitLite编译报错
- 解决RegexKitLite编译报错
- uboot编译报错解决
- 实验 折半查找算法
- setInterval第一个参数加引号与不加引号区别
- Android图片加载-TakePhoto
- java 获取当前类的所有父类
- 【0018】navicat导出sql语句
- OpenSSL 静态、共享编译,解决ms\do_ms报错
- 【vmware 服务器安装】虚拟机centos6.5安装步骤
- 对json数组进行排序和filter过滤
- Bytes2HexStr与hexStr2Bytes
- 用Javascript获取页面元素的位置
- 416. Partition Equal Subset Sum
- 不要修改dtsi,修改自己板子的dts,通过 &label 语句修改子文件里已经存在的节点
- Contiki操作系统移植STM32F103基于Keil编程软件
- C#版本和.NET版本以及VS版本的对应关系