windows下使用openssl的一种方法
下载openssl之后,全部解压到一个路径下,如:c:\program files\openssl sdk
举个例子,如使用SHA1,开发时引用头文件:
#include <sha.h>
工程属性里添加需要的头文件路径:
C:\Program Files\openssl-0.9.8i\include
C:\Program Files\openssl-0.9.8i\crypto
C:\Program Files\openssl-0.9.8i\crypto\sha
编译通过,没问题,但链接时将会提示找不到SHA1的函数符号,原因是缺少SHA1()函数的源代码或LIB库。
第一种方法是按照openssl提供的win32平台下的安装方法,详见“INSTALL.W32”文件。(个人觉得比较麻烦)
本文主要讲第二种方法:
1.Visual Studio中新建空的LIB工程
2.将需要的文件,如“C:\Program Files\openssl-0.9.8i\crypto\sha”下的所有文件,全部添加到工程中
3.编译链接生成.lib文件即可。若在VS6.0下开发,LIB库也需要在VS6.0下生成;若使用VS2005,同理
然后在开发中使用刚生成的LIB库:
#pragma comment(lib, "sha.lib")
使用OPENSSL时,若链接时报以下错误时:
error LNK2019: unresolved external symbol _OPENSSL_cleanse referenced in function _SHA1
是因为没有OPENSSL_cleanse的源码,解决办法是将“C:\Program Files\openssl-0.9.8i\crypto”下的“mem_clr.c”添加到上面生成LIB的工程中,重新生成LIB,用此LIB库就能解决问题。
http://www.cnblogs.com/cxun/archive/2009/07/28/1533155.html
windows下使用openssl的一种方法的更多相关文章
- windows下进程间通信的(13种方法)
转自:http://blog.csdn.NET/shiqz/article/details/5862936 摘 要 随着人们对应用程序的要求越来越高,单进程应用在许多场合已不能满足人们的要求.编写多进 ...
- MySql在Windows下自动备份的几种方法
以下几种全部是批处理命令中对于备份文件 1.复制date文件夹备份============================假想环境:MySQL 安装位置:C:\MySQL论坛数据库名称为:bbs数 ...
- windows下重置mysql的root密码方法介绍(转)
自己在内网操作的,遇到了一些的问题,其中一个是需要重置密码的,所以网上找了两篇文章,都有一些借鉴的地方. 版本mysql5.7.2,linux系统 除了参考文章还有几点说明: service mysq ...
- 有关WINDOWS XP登录密码的几种方法
网上关于破解WINDOWS XP登录密码的几种方法很多,但许多根本不行.我现在总结自己试过几种,这几种方法其实均比较菜的,但可行的.WINDOWS XP登录是由SAM 文件管理的,总体来说“山姆大叔” ...
- [转] Windows下编译OpenSSL
简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...
- Windows下获取本机IP地址方法介绍
Windows下获取本机IP地址方法介绍 if((hostinfo = gethostbyname(name)) != NULL) { #if 1 ; printf("IP COUNT: % ...
- Windows下mysql忘记密码的解决方法
Windows下mysql忘记密码的解决方法 mysql5.0 http://www.jb51.net/article/21984.htm方法一: 1.在DOS窗口下输入 net stop mysql ...
- Linux 下操作GPIO(两种方法,驱动和mmap)(转载)
目前我所知道的在Linux下操作GPIO有两种方法: 1.编写驱动,这当然要熟悉Linux下驱动的编写方法和技巧,在驱动里可以使用ioremap函数获得GPIO物理基地址指针,然后使用这个指针根据io ...
- Linux下进程通信的八种方法
Linux下进程通信的八种方法:管道(pipe),命名管道(FIFO),内存映射(mapped memeory),消息队列(message queue),共享内存(shared memory),信号量 ...
随机推荐
- 把Orchard部署到Windows Azure Web Sites
很久前就想做个人站点,主要用来记录自己的生活,我喜欢摄影,烘焙…然后又刚刚入皮坑,这些都可以放在网站上展示一下,或许还能为自己带来收入. 然后手上刚好有Azure的试用,于是乎动力就上来了. 以下是部 ...
- FreeCodeCamp:Return Largest Numbers in Arrays
要求: 右边大数组中包含了4个小数组,分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新数组. 提示:你可以用for循环来迭代数组,并通过arr[i]的方式来访问数组的每个元素. 结果: l ...
- 'nmake' 不是内部或外部命令,VCVARS32.BAT路径问题
'nmake' 不是内部或外部命令,VCVARS32.BAT路径问题 2014-5-24 VC运行不正确基本上都是路径的问题,今天在进行Openssl开发的环境搭建时,需要使用nmake进行源码和库的 ...
- QT自定义对象导入JavaScript脚本使用
1.对象 项目属性要添加 QT += script自定义的对象头文件如下,实现正常就好,记得脚本里要调用的方法一定要定义在public slots:下,要不然调用时提示该对象没有*方法 #ifnd ...
- urlretrieve
urllib.urlretrieve(url[, filename[, reporthook[, data]]])参数说明:url:外部或者本地urlfilename:指定了保存到本地的路径(如果未指 ...
- (C)单链表
老师版 #include <stdio.h> #include <stdlib.h> // 定于Node数据类型 struct Node { int data; // 数据域 ...
- asp.net 页面执行过程
Application_BeginRequest Application_AuthenticateRequest Application_AuthorizeRequest Application_Re ...
- C# List 转Datatable
最近在做Excel导出,看到了这个方法,虽不是自己写的,但值得收藏,但是忘记从那摘抄的,没写原文作者看到望见谅! #region 导出Excel /// <summary> /// lis ...
- TextView textSize 文字大小
TextView,很常见的控件.关于文字大小的方法有: android.widget.TextView#getTextSize 返回值的单位是PX /** * @return the size (i ...
- AnyEvent::HTTP 介绍
AnyEvent::HTTP - simple but non-blocking HTTP/HTTPS client 一个简单的非堵塞的 HTTP/HTTPS 客户端: use AnyEvent::H ...