文档章节

windows 7 x64安装openssl,使用vs2012命令nmake编译

testwork
 testwork
发布于 2016/04/24 13:11
字数 733
阅读 705
收藏 1

由于需要调用openssl的库.所以需要安装一下.

下载ActivePerl  5.10.1.1007(最新的版本或较低的版本也可以):

下载地址:http://www.activestate.com/activeperl/downloads/

下载 openssl-0.9.8m(当然也可以最新的版本)并解压。

下载地址: http://www.openssl.org/source/

1)  安装 ActivePerl

2) 下载 openssl,一定要解压缩到C盘根目录,放到其他盘编译会提示找不到头文件.

    unable to read opensslv.h:No such file or directory

搜索一下vs2012的目录,找到nmake.exe,将路径设置到系统的path环境变量里面

D:\program files (x86)\Microsoft Visual Studio 11.0\VC\bin;加到path里面,因为里面包含了nmake命令

3) 进入到C:\openssl\目录

   3.0) 打开一个cmd窗口,执行以下5步(注意不要切换窗口,特别是3.4)

   3.1 ) 执行 perl Configure VC-WIN32  如果不在C盘,会提示找不到头文件(没错,是VC-WIN32)

   3.2) 执行 ms\do_masm

   3.3) 执行 ms\do_nasm

  3.4) 找到vs2012自带的vsvar32.bat,不同版本的vs可能路径不同,自己搜以下vsvar32.bat在哪个目录下

          执行"D:\program files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\vsvars32.bat"

   3.5) 最后一步,执行 nmake -f ms\ntdll.mak

          备注:如果忽略3.4步,则会提示 用nmake 编译出现错误   “cl.EXE: 返回代码 0xc0000135”

4) 终于编译成功了.

    可以查看目录  openssl-0.9.8zh\out32dll 来确认是否生成了 dll


建立工程

打开vsxxxx,

在additionalinclude directories加上

找到openssl的include路径

"C:\openssl-0.9.8g\include"

这个目录.

 

在additionallibrary directories加上

找到 openssl的out32.dll的路径,每个环境的具体路径具体设置

"C:\openssl-0.9.8g\out32dll"

这个目录


C++代码

#include<stdio.h>  
#include<stdlib.h>  
#include<string.h>  
#include<time.h>  
#include<openssl/bn.h>  
#include<openssl/ec.h>  
#include<openssl/rand.h>  
#include<openssl/err.h>  
#include<openssl/ecdsa.h>  
#include<openssl/ecdh.h>  
#include"sm2.h"  
   
#pragmacomment(lib,"libeay32.lib")

以上是参考其他人的文章汇总的


其他地方需要注意的:

1) 版本使用 openssl-0.9.8g 

   如果使用最新的版本,编译完之后,可能include目录不存在openssl的头文件,那就郁闷了

2) 需要安装 NASM-2.07-installer.rar ( 这里版本我不太确定,使用这个就正常了 )

   安装完之后,需要把安装目录设置到环境变量里面

   复制文件 nasm.exe 为 nasmw.exe 在nasm的安装目录操作,

   因为后面nmake需要使用nasmw命令

3) 编译 nmake -f ms\ntdll.mak

   需要重新打开cmd窗口,才能找到nasmw的命令

   执行:  "D:\program files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\vsvars32.bat"

   编译:  nmake -f ms\ntdll.mak

最后才能编译成功,并且能找到对应的openssl的头文件

4)  项目源码需要包含include目录,依赖库需要包含out32dll目录 

5)  编译代码需要添加  

#pragmacomment(lib,"libeay32.lib")

6) 关于C的变量命名,使用VC编译,所有的变量声明必须要放到函数的前面.

    不能功能与变量随便定义. 


© 著作权归作者所有

testwork
粉丝 4
博文 74
码字总数 21048
作品 0
崇明
程序员
私信 提问
qt5.8_for_vs2015 and openssl静态编译

关于qt5.8版本的通用编译参考<>,现假定已经静态编译了qt5.8版本,需要追加对openssl的静态编译。 就网络network模块进行编译举例: 1)qt5.8使用的openssl版本为1.0.2,其他平台可以去http:...

py_tty_0529
2018/07/31
0
0
Windows下安装OpenSSL及其使用

下载最新版本的Perl,安装后重启系统。 http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.8.822-MSWin32-x86-280952.zip 2.下载 latest openssl并解压到C:openssl......

vazor
2012/12/13
10.9K
1
Windows7系统下安装OpenSSL攻略

前提:安装了vc++6.0(配置时用到其中工具)、ActivePerl 、openssl-1.0.1c.zip    过程: 一、准备:下载并安装perl,解压openssl-1.0.1c 二、运行“cmd”,cd改变目录到openssl-1.0.1c源...

杨_静
2012/08/20
25.9K
3
如何在 Windows 下编译 OpenSSL?

OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用。对于一般的开发人员而言,在http://slproweb.com/product...

鉴客
2013/12/24
11.3K
1
openssl-1.1.1-pre1 windows环境下编译

场景 VS2015编译openssl-1.1.1-pre1 工具 nasm-2.14rc0-installer-x64.exe ActivePerl-5.24.3.2404-MSWin32-x64-404865.exe openssl-1.1.1-pre1.tar.gz 环境变量 C:Program FilesNASM(添加汇......

fengyuzaitu
2018/07/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx学习笔记

中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。 是连接两个独立应用程序或独立系统的软件。 web请求通过中间件可以直接调用操作系统,也可以经过中间件把请求分发到多...

码农实战
今天
5
0
Spring Security 实战干货:玩转自定义登录

1. 前言 前面的关于 Spring Security 相关的文章只是一个预热。为了接下来更好的实战,如果你错过了请从 Spring Security 实战系列 开始。安全访问的第一步就是认证(Authentication),认证...

码农小胖哥
今天
10
0
JAVA 实现雪花算法生成唯一订单号工具类

import lombok.SneakyThrows;import lombok.extern.slf4j.Slf4j;import java.util.Calendar;/** * Default distributed primary key generator. * * <p> * Use snowflake......

huangkejie
昨天
12
0
PhotoShop 色调:RGB/CMYK 颜色模式

一·、 RGB : 三原色:红绿蓝 1.通道:通道中的红绿蓝通道分别对应的是红绿蓝三种原色(RGB)的显示范围 1.差值模式能模拟三种原色叠加之后的效果 2.添加-颜色曲线:调整图像RGB颜色----R色增强...

东方墨天
昨天
11
1
将博客搬至CSDN

将博客搬至CSDN

算法与编程之美
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部