在VS2010项目中引用Lib静态库(以Openssl为例)

原文地址为: 在VS2010项目中引用Lib静态库(以Openssl为例)

      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,通过编译产生这样一系列文件:

image

inc32里面放置C语言头文件。

 

1. 现在我要在VS2010的工程项目中使用到它,首先我要创建一个VC++.NET的项目,我这里创建了一个MFC应用程序:

image

在项目名称中点击“右键”,选择“属性”,从里面找到“VC++目录”:

image

找到两个目录选项:

image

其中包含目录指向你的Openssl的头文件的目录,库目录指向你的Lib、Dll所在的目录。
image

image

从这里新建目录来指向引导的目录:

然后切换到“链接器”-> “输入”:

image

在“附加依赖项”中,加入两个Lib文件:

image

这样就完成了静态库的引用。

 

2. 现在看下项目中怎么引用它(以SHA256算法为例):

#include <openssl/sha.h>

 

方法展示:

// 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]);
}
}

 

调用:

static unsigned char buffer[64];
sha256(signature, (char*)buffer);

 

由于Openssl包需要利用Perl进行编译形成Lib以及Dll文件,这里我附上已经制作好的文件,方便大家使用!

 

Openssl最新版openssl-1.0.0d的Windows执行包下载:openssl_out32dll.rar


转载请注明本文地址: 在VS2010项目中引用Lib静态库(以Openssl为例)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在VS2017编译OpenSSL静态库需要按照以下步骤进行: 1. 首先,下载OpenSSL的源代码并解压缩到本地目录,可以从OpenSSL的官方网站(https://www.openssl.org/source/)上获取。 2. 打开VS2017,选择“文件”菜单,然后选择“新建”->“项目”,在弹出的对话框选择“Visual C++”->“空项目”。 3. 在“解决方案资源管理器”,右键单击项目名称,选择“属性”。在“属性页”,选择“配置属性”->“C/C++”->“常规”,在“附加包含目录”添加OpenSSL的头文件目录。 4. 继续选择“配置属性”->“链接器”->“常规”,在“附加库目录”添加OpenSSL的库文件目录。 5. 在“链接器”->“输入”,在“附加依赖项”添加以下库文件:libcrypto.liblibssl.lib。 6. 添加一个新的源文件到项目,并包含OpenSSL的源代码文件。 7. 编写代码,使用OpenSSL的功能,并将其编译为纯静态库。确保在代码包含正确的头文件和库,以便能够正确地链接和使用OpenSSL。 8. 运行编译器生成纯静态库文件。在完成编译之后,您可以在项目的输出目录找到生成的纯静态库文件。 请注意,这些步骤仅适用于VS2017编译OpenSSL静态库的基本步骤。根据具体情况和OpenSSL版本的不同,可能需要进行更多配置和调整。如果遇到任何问题,请参考OpenSSL的官方文档或咨询相关的论坛和社区。 ### 回答2: 在VS2017编译OpenSSL静态库需要以下步骤: 1. 首先,确保已经下载并解压了OpenSSL源代码。可以从OpenSSL官方网站上获取最新版本的源代码。 2. 打开VS2017,创建一个新的项目。选择“Visual C++”,然后选择“空项目”。 3. 在项目,右键单击“资源文件”文件夹,选择“添加” -> “新建项”,然后选择“空文件”。 4. 双击新创建的空文件,在文件输入以下内容: ```plaintext OPENSSL_CPUID_SETUP=0 TARGET=OPENSSL_NO_ASM AR=lib.exe ARFLAGS=-out: ``` 然后另存为“ms\do_win64a.bat”。 5. 在项目,右键单击源文件文件夹,选择“添加” -> “现有项”。浏览到OpenSSL源代码文件夹,选择“Configure”文件。 6. 在“Configure”文件上右键单击,选择“属性”,将“配置类型”更改为“文本”、“文本”和“不使用预编译头” 。 7. 在“配置”文件上右键单击,选择“属性”,将“配置类型”更改为“文本”、“文本”和“不使用预编译头”。 8. 双击“Configure.bat”文件,运行命令提示符,然后关闭命令提示符。 9. 在项目,右键单击源文件文件夹,选择“添加” -> “现有项”。浏览到OpenSSL源代码文件夹,选择“perlasm”文件夹。 10. 在“perlasm”文件夹上右键单击,选择“属性”,将“配置类型”更改为“文本”、“文本”和“不使用预编译头”。 11. 双击“perlasm.bat”文件,运行命令提示符,然后关闭命令提示符。 12. 在项目,右键单击源文件文件夹,选择“添加” -> “现有项”。浏览到OpenSSL源代码文件夹,选择“makefile”。 13. 在“makefile”文件上右键单击,选择“属性”,将“配置类型”更改为“文本”、“文本”和“不使用预编译头”。 14. 使用文本编辑器打开“makefile”,然后找到以下两行: ```plaintext CC=cl RC=rc ``` 将它们更改为: ```plaintext CC=cl /MT RC=rc /fo ``` 15. 双击“nasm.bat”文件,运行命令提示符,然后关闭命令提示符。 16. 重新生成项目。 这样,你就成功编译了纯静态的OpenSSL库。你可以在生成的目录找到静态库文件,并将其用于你的项目。 ### 回答3: 要在VS2017编译纯静态库OpenSSL,您可以按照以下步骤进行操作: 1. 下载OpenSSL源代码:从OpenSSL官方网站(https://www.openssl.org/source/)下载并解压最新版本的源代码。 2. 打开VS2017并创建一个新的空项目。 3. 将OpenSSL的源代码添加到项目:在VS2017的解决方案资源管理器右键单击项目,选择“属性”。在属性页,导航到"C/C++" -> "常规" -> "附加包含目录"。添加OpenSSL源代码的/include文件夹的路径。 4. 配置编译参数:在属性页,导航到"C/C++" -> "代码生成" -> "运行时库"。选择"多线程(/MT)"选项,这将使得生成的库成为纯静态库。 5. 编译项目:在VS2017的菜单栏选择“生成” -> “生成解决方案”。 6. 复制生成的静态库:编译完成后,在解决方案资源管理器导航到项目的输出文件夹。您将在此处找到生成的静态库文件,其为纯静态库。 现在您已经成功编译了一个纯静态库OpenSSL。您可以通过将该静态库文件链接到您的应用程序来使用它,并确保在链接时包含正确的头文件和库文件路径。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值