[转]在VS2010 VC++项目中引用Lib静态库(以Openssl为例)
本文转自:http://kb.cnblogs.com/page/94467/
Openssl是个为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。
首先下载Openssl包:(http://www.openssl.org/),这是一个C语言类库包,在Windows下可以通过Perl对该类库包进行MakeBuild,产生libeay32、ssleay32的Lib以及Dll文件,具体操作详见:http://blogger.org.cn/blog/more.asp?name=OpenSSL&id=18972,通过编译产生这样一系列文件:
inc32里面放置C语言头文件。
1. 现在我要在VS2010的工程项目中使用到它,首先我要创建一个VC++.NET的项目,我这里创建了一个MFC应用程序:
在项目名称中点击“右键”,选择“属性”,从里面找到“VC++目录”:
找到两个目录选项:
其中包含目录指向你的Openssl的头文件的目录,库目录指向你的Lib、Dll所在的目录。
从这里新建目录来指向引导的目录:
然后切换到“链接器”-> “输入”:
在“附加依赖项”中,加入两个Lib文件:
这样就完成了静态库的引用。
2. 现在看下项目中怎么引用它(以SHA256算法为例):
#include <openssl/sha.h>
方法展示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
// SHA256算法字符串加密 void sha256( char * string, char outputBuffer[64]) { unsigned char hash[SHA256_DIGEST_LENGTH]; SHA256_CTX sha256; SHA256_Init(&sha256); SHA256_Update(&sha256, string, strlen (string)); SHA256_Final(hash, &sha256); int i = 0; for (i = 0; i < SHA256_DIGEST_LENGTH; i++) { sprintf (outputBuffer + (i * 2), "%02x" , hash[i]); } } |
调用:
1
2
|
static unsigned char buffer[64]; sha256(signature, ( char *)buffer); |
由于Openssl包需要利用Perl进行编译形成Lib以及Dll文件,这里我附上已经制作好的文件,方便大家使用!
Openssl最新版openssl-1.0.0d的Windows执行包下载:openssl_out32dll.rar
posted on 2015-04-10 15:31 freeliver54 阅读(9950) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
2011-04-10 [转]优势资本(私募投资) 投资标准
2008-04-10 成功不是忽悠
2008-04-10 身边的贵人
2008-04-10 难道真的需要再积累两三年吗?
2008-04-10 [文摘20080410]每天问自己十个问题
2008-04-10 [转]Win XP常遇网络故障分析:局域网问题
2007-04-10 [引]Windows Server 2003 : 网络负载平衡