VS2019 + libcurl5.7.0 + openssl3.0.5 简易编译教程

VS2019 + libcurl5.7.0 + openssl编译配置

1、用途

工作用到C++对求高德地图发送https请求,进行逆地址分析。

2、文件包下载

	2.1 window的openssl3.0.5EXE安装包

链接:exe安装包

	2.2 下载libcurl5.7.0版本

链接:libcurl5.7.0

3、编译

3.1 openssl3.0.5exe编译。
	选择同意协议,请勾选:The OpenSSL binaries(/bin) directory,默认安装。

勾选The OpenSSL binaries(/bin) directory复选框

安装完毕,打开OpenSSL-Win64文件夹:libcrypto-3-x64.dll和libssl-3-x64.dll可放在后面测试文档exe中。
文件夹include、lib为libcurl指定编译文件夹,目的是编译libcurl的openssl库。

opensll安装目录

3.2 编译libcurl5.7.0
3.2.1  打开curl-all.sln文件。 
	打开xx\curl-7.80.0\projects\Windows\VC15\curl-all.sln工程	文件,选择DLL Release-DLL OpenSSL和DLL Debug-DLL OpenSSL进行编译。

DLL Release-DLL OpenSSL和DLL Debug-DLL OpenSSL

3.2.2 设置编译工程文件。
	curl-all.sln文件有curl和libcurl工程文件,对工程文件进行debug和release版本分别设置.。
	头文件为步骤3.1中openssl的include文件夹:C:\Program Files\OpenSSL-Win64\include;
	库文件为步骤3.1中openssl的lib文件,库文件不需要输入直接进行配置,源码已经已经把相关文件信息写入。

指定openssl的头文件夹
指定openssl的库文件夹

	编译完成后,会在源码文件夹的curl-7.8.0/build/Win64/VC15下生成两个文件夹DLL Debug - DLL OpenSSL和DLL Release - DLL OpenSSL。

编译生成文件夹

4、测试

由于工程涉及到高德地图API的key,不便公开,故采用参考文章2的测试代码。
#include <iostream>
#include"curl/curl.h"
void testssh()
{
    CURL* curl;
    CURLcode res;
    curl = curl_easy_init();
    if (curl)
    {
        curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, false);
        curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, true);
        curl_easy_setopt(curl, CURLOPT_URL, "https://www.baidu.com");
        curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
        res = curl_easy_perform(curl);
        if (res != CURLE_OK)
        {
            fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
        }
        curl_easy_cleanup(curl);
    }

}

int main()
{
    testssh();
    std::cout << "Hello World!\n";
}

5、参考文章

参考文章1:windows 下编译libcurl + openssl
参考文章2:libcurl带openssl文件的编译

6、测试文件下载

libcurl5.7+openssl3.0.5库链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VS是微软公司开发的一款集成开发环境,而libcurl、zlibopenssl都是开源软件库。 libcurl是一个用于支持网页传输协议的客户端软件库。它支持多种传输协议,包括HTTP、FTP、SMTP等,可以方便地实现网络数据的传输和通信。libcurl提供了简单易用的API接口,具有高度的可移植性和灵活性,广泛应用于各种网络应用中。 zlib是一个用于数据压缩和解压缩的库。它可以将数据进行压缩,使其占用更少的存储空间,同时可以提高数据的传输效率。zlib可以与其他软件库配合使用,例如libcurl,以实现网络数据的传输和压缩。 openssl是一个开源的加密解密库。它提供了各种安全协议和算法的实现,包括SSL/TLS协议、RSA、AES等,用于保护网络通信的安全性。openssl被广泛应用于网络安全领域,用于实现加密通信、数字证书的生成和管理等功能。 在使用方面,VS主要用于开发和编译程序,可以方便地创建和管理项目,提供了丰富的开发工具和调试功能。而libcurl、zlibopenssl是用于程序开发过程中的库文件,可以被程序调用以实现特定功能。在网络应用开发中,常常需要使用libcurl来进行网络传输,同时可以结合zlib进行数据的压缩和解压缩,而openssl可以提供数据的安全加密和解密功能。 总之,VS是一个开发环境,而libcurl、zlibopenssl是开发中常用的软件库,它们在不同领域发挥着重要的作用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值