windows下使用openssl的一种方法

下载openssl之后,全部解压到一个路径下,如:c:program filesopenssl sdk

举个例子,如使用SHA1,开发时引用头文件:

#include <sha.h>

工程属性里添加需要的头文件路径:

C:Program Filesopenssl-0.9.8iinclude

C:Program Filesopenssl-0.9.8icrypto

C:Program Filesopenssl-0.9.8icryptosha

编译通过,没问题,但链接时将会提示找不到SHA1的函数符号,原因是缺少SHA1()函数的源代码或LIB库。

第一种方法是按照openssl提供的win32平台下的安装方法,详见“INSTALL.W32”文件。(个人觉得比较麻烦)

本文主要讲第二种方法:

1.Visual Studio中新建空的LIB工程

2.将需要的文件,如“C:Program Filesopenssl-0.9.8icryptosha”下的所有文件,全部添加到工程中

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 Filesopenssl-0.9.8icrypto”下的“mem_clr.c”添加到上面生成LIB的工程中,重新生成LIB,用此LIB库就能解决问题。

http://www.cnblogs.com/cxun/archive/2009/07/28/1533155.html

原文地址:https://www.cnblogs.com/findumars/p/5543263.html