安装环境:

操作系统:window7(64位)

C++编译器:VS2012

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

工具下载:

下载ActivePerl-5.16.3.1604(其他版本也可以):

下载地址:http://www.activestate.com/activeperl/downloads/      (安装过程只要按照Windows下一般程序的安装步骤进行即可)

下载openssl-1.0.1g(其他版本也可以)并解压

下载地址:http://www.openssl.org/source/(建议解压后的文件路径为C:\openssl,PS:只是为了下文的内容匹配,并且方便寻找,其他路径也无不影响)。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

安装Perl

(我的安装目录为C:\Perl64)

运行”CMD“命令,使用cd命令将运行目录指向perl安装目录的eg文件夹, 执行“perl example.pl”若显示“Hello from ActivePerl!”,则说明Perl安装成功,可以开始使用Perl的相关命令来进行OpenSSL的安装了。

(PS:如果你想看看原始的INSTALL文件,那么请打开OpenSSL的解压缩目录,下面有两个文件INSTALL.W32和INSTALL.W64,用记事本方式打开,你可以看到详细的关于安装的解释)

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

安装openssl

(最关键的步骤来了)

1)首先设定好环境变量,这步参照网上的教程后发现后面的编译步骤不成功,找了很就才发现是这部设置的不对才导致的。

设定环境变量:桌面计算机图标右键->属性->高级系统设置->环境变量->在系统变量当中找到变量名称为path的变量(如果没有找到这新建)点击编辑->在变量名称中填入"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin;C:\Perl64\bin;c:\windows\system32"->点击确定完成设定。(说明:C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin路径是VS2012的路径。C:\Perl64\bin是运行perl的路径,不若不设定那么perl命令将找不到。c:\windows\system32这个路径很少提到但是很重要,如果不设置那么会造成后面vcvars32.bat环境变量执行出错。)到此环境变量路径设置好之后重启下电脑才能生效。

2)使用Visual Studio命令提示(2012)进入控制台模式

开始菜单->所有程序->Microsoft Visual Studio 2010->Visual Studio Tools->Visual Studio命令提示(2012),(PS:以管理员身份运行), 使用cd命令将目录指向C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin(PS:自己的VC安装路径), 命令行键入vcvars32,运行vcvars32.bat..完成后进入OpenSSL源码的目录(C:\openssl)

3)执行Configure命令(配置编译参数)(需将目录跳到OpenSSL源码目录下)

在命令行中键入"perl configure VC-WIN32  no-asm --prefix=c:\openssl"(PS:--prefix=c:\openssl命令为指定安装位置)

4)运行ms\do_ms命令(需将目录跳到OpenSSL源码目录下)

在命令行中键入”ms\do_ms“。

5)运行“nmake -f ms\ntdll.mak”命令进行代码编译(需将目录跳到OpenSSL源码目录下)

编译分两种情况,生成静态库和动态库
  (1) 如果是编译OpenSSL动态库,则在命令行键入 nmake -f ms\ntdll.mak
    编译成功课在文件夹out32dll里面查看输出的文件,包括应用程序的exe文件、lib文件、dll文件。
  (2) 如果是编译OpenSSL静态库,则在命令行键入 nmake -f ms\nt.mak
    编译成功课在文件夹out32里面查看输出的文件,包括应用程序的exe文件、lib文件。

6)测试使用命令“nmake -f ms\ntdll.mak test”(若安装成功则可以使用此命令来验证)

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

使用openssl

当VS2012工程需要用到openssl库时,在包含目录中胎添加openssl安装目录的include目录, 来库目录中添加out32dll目录。

或者将OpenSSL下的include文件夹、lib文件、dll文件考出,使用的时候包含进去就行了。

另外还有几个命令可能会用到:

  测试OpenSSL动态库:nmake -f ms\ntdll.mak test
  测试OpenSSL静态库:nmake -f ms\nt.mak test
  安装OpenSSL动态库:nmake -f ms\ntdll.mak install
  安装OpenSSL静态库:nmake -f ms\nt.mak install
  清除上次OpenSSL动态库的编译,以便重新编译:nmake -f ms\ntdll.mak clean
  清除上次OpenSSL静态库的编译,以便重新编译:nmake -f ms\nt.mak clean

如果出现以下问题:

cryptlib.obj : error LNK2019: 无法解析的外部符号 _OPENSSL_ia32_cpuid,该符号在函数 _OPENSSL_cpuid_setup 中被引用

先:nmake -f ms\ntdll.mak clean,再编译

参考博客:https://blog.csdn.net/zh516846937/article/details/40188065

https://blog.csdn.net/xuebing1995/article/details/80004638?utm_source=blogxgwz6

https://www.openssl.org/source/old/1.0.1/

Win7下安装openssl的更多相关文章

  1. Win7下安装OpenSSL出现的问题

    1. cl.exe 运行出现错误,提示“丢失mspdb100.dll”等字样,需要将 C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE ...

  2. 加密--win7下安装openssl

    http://www.cnblogs.com/ZhouL3777/archive/2012/10/21/2732890.html http://www.cnblogs.com/ZhouL3777/ar ...

  3. WIN7下安装visualC++2008 redistributable 出现1935错误的解决办法(转自)

    转自:http://zhidao.baidu.com/link?url=jylNh_JeANi4wrOMmd4d2i06e_N3QCw7z6BLGiNNNTu1Hc6ADTkUq2PORExKmjtk ...

  4. Win7下安装Centos7

    win7下安装Centos同一块硬盘时:win启动项没有,使用pe进行修复,之后用easybcd进行centos启动项修复,grub2,自动搜索两块硬盘时:不要动启动项,bios选启动的硬盘即可 li ...

  5. 64位Win7下安装与配置PHP环境【Apache+PHP+MySQL】

    [软件下载] 本安装实例所使用安装文件如图所示: 其中,64位版本的MySQL安装文件mysql-5.5.33-winx64.msi,可直接从官网下载,下载地址:http://dev.mysql.co ...

  6. Win7下安装依赖lxml的python插件

    博主python菜鸟,本想在win7下安装一个pyquery玩玩爬虫,折腾了好几天终于搞好了,发现python这坑不是一般的深啊. 有一部分没有截图,请谅解 python版本3.4 1.下载easy_ ...

  7. ubuntu下安装 openssl 开发库

    ubuntu下安装 openssl 开发库 检查是否已安装openssl: sudo apt-get install openssl 如果已安装执行以下操作:sudo apt-get install ...

  8. win7下安装MYSQL报错:"MYSQL 服务无法启动"的3534问题

    上午在win7下安装MYSQL,只到“net start mysql”这一步报错:3534的错误: 于是在百度中搜索关键字“mysql服务无法启动3534”. 参考以下两个链接中的方法,解决了3534 ...

  9. win7下安装 WINDRIVER.TORNADO.V2.2.FOR.ARM

    [风河VxWorks].WINDRIVER.TORNADO.V2.2.FOR.ARM下载 http://115.com/file/dlfo8zpy http://115.com/file/c4r01l ...

随机推荐

  1. MySQL实战45讲学习笔记:第二十一讲

    一.引子 在上一篇文章中,我和你介绍了间隙锁和 next-key lock 的概念,但是并没有说明加锁规则.间隙锁的概念理解起来确实有点儿难,尤其在配合上行锁以后,很容易在判断是否会出现锁等待的问题上 ...

  2. 解决 ora-01795 的问题

    ''' <summary> ''' 在 oracle 里 , where in 语句有可能造成问题 : ORA-01795:列表中的最大表达式数为1000 ''' 如果我们在拼接where ...

  3. Leetcode 第137场周赛解题报告

    今天的比赛的题目相对来说比较「直白」,不像前几周都是一些特定的算法,如果你没学过不可能想出来. 做了这些周,对leetcode比赛的题目也发现了一些「规律」. 一般前两道题都很「简单」,只要有想法,直 ...

  4. FontForge 汉化教程

    引用 :http://www.sucaijishi.com/2018/articles_0815/258.html FontForge是一款免费字库编辑工具,官方暂不提供简体中文,本文汉化方法在201 ...

  5. win10如何将wps设置成默认应用

    1.在此之前,我们当然需要下载一个WPS软件了.如果还没有安装软件的,大家可以去网上搜一下“WPS”进入官网下载; 2.下载之后,我们进入开始菜单,然后点击所有应用,找到WPS; 3.之后就会看见“配 ...

  6. ReentrantLock和Condition实现生产者和消费者

    一个生产者和一个消费者 public class ConditionTest { private static ReentrantLock lock = new ReentrantLock(); pr ...

  7. 测试wss是否连接企业微信成功

    企业微信考勤机有时候无法连接,可以使用下面代码来测试下网络情况  <html> <head> <title>测试wss</title> </hea ...

  8. 运维开发实践——基于Sentry搭建错误日志监控系统

    错误日志监控也可称为业务逻辑监控, 旨在对业务系统运行过程中产生的错误日志进行收集归纳和监控告警.似乎有那么点曾相识?没错... 就是提到的“APM应用性能监控”.但它又与APM不同,APM系统主要注 ...

  9. Android ADB 实用总结

    一.背景 从系统架构上来说,Android是基于Linux系统基础上,做了进一步的定制与修改,并融入了自身的特有功能,且向应用层提供应用程序接口,供开发者使用.系统内核层面,主体依然是Linux内核. ...

  10. 图解微信小程序---轮播图

    图解微信小程序---轮播图 代码笔记 第一步:在页面创建swiper组件 第二步:编写js页面 注意事项:wx:for渲染我们js中的图片数组,item默认写法,获取我们的图片数组中的图片,可通过增加 ...