64位版本的 libeay64.lib ssleay64.lib

由于项目的需要,使用了OpenSSL,以前编译的都是windows 32位版本,都没问题。

#include <openssl/ssl.h>
#include <openssl/err.h>

#pragma comment (lib,"libeay32.lib")
#pragma comment (lib,"ssleay32.lib")

要的注意是:将C++的 include 目录和 lib 目录,添加相应的内容。

现在将项目目标类型改成x64后,编译就会报错:

 error LNK2019: 无法解析的外部符号 X509_free,
error LNK2019: 无法解析的外部符号 X509_get_issuer_name。

所以,应该是LIB文件不匹配。咱就想着去下载现成的64位库,不过似乎找到半天没有找到。

自己动手去编译一个吧。从 https://www.openssl.org/source/  下载源码。中间各种波折,花了整整1天加 1个上午的时间。
我想着用一个比较新的版本会好一点,结果测试了 3.1,3.0,1.1.1v,最终还是用的 1.0.2.u

 https://www.openssl.org/source/old/1.0.2/

而且也不能用 vs2022去编译,还是得用 vs2010去编译。要不然,高版本编译出来的LIB,可能低版本的工程就会有问题。

编译的过程参考了这篇文章。编译windows32位和64位openssl库_ssleay64.lib_lingguo610的博客-CSDN博客

考虑到编译太辛苦,把编译的结果放在这里供大家下载。

使用代码如下

#include <openssl/ssl.h>
#include <openssl/err.h>

#if defined _M_X64 || defined _AMD64_
#pragma comment (lib,"libeay64.lib")  
#pragma comment (lib,"ssleay64.lib")
#else
#pragma comment (lib,"libeay32.lib")
#pragma comment (lib,"ssleay32.lib")
#endif

为了方便大家使用,我也将LIB文件和INCLUDE文件发布到了CSDN的下载频道。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值