Qt使用外部OpenSSL库踩坑

环境为Win10+Qt 5.14.2+Qt Creator 4.11.1+OpenSSL v3.0.5 x64

编译器为MinGW64 7.3.0

链接器反复报错LNK2019(无法解析的外部符号),LNK1120(才不会告诉你倒腾了半个下午结果发现是项目构建Kits出了问题→_→

在此整理出我认为最简单易行的方法。

首先懒得自己编译,去OpenSSL预编译版本官网下载:Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions

 一定要选非Light版本。(!important

 注意3.0和1.1版本差异较大,API很多都改了,自行选择。

下好后一路顺着装下来,注意安装目录最好不要有空格,否则待会qmake有可能会出问题(之前手写的时候出过很多问题,不过我后面讲的方法不需要手动写qmake了)。

装好后记住安装目录,打开QC,在项目列表处右击项目,选择添加库:

 选择外部库,点击下一步:

 按如图所示选择即可:

 再点击下一步,点击完成,最后在构建中执行qmake,再重新构建所有项目。

最后把你用到的.dll文件放到项目构建目录下,Over 。

需要注意的是这两个常用的.dll文件在不同的OpenSSL版本下名称不同。

So while previously in 1.0.x there were libeay32 and ssleay32, they are in 1.1.x named libssl and libcrypto(在1.0.x之前的版本中,文件为libeay32.dll和ssleay32.dll,在1.1.x之后的版本中,名字是libssl.dll和libcrypto.dll)

项目构建目录就是你在项目——构建设置中的”构建目录“:

构建选择是Release就进release目录,不然就进 debug。

 

同理,其它外部库也可用此法引入。

新版本RSA API推荐看别的大佬的文章:OpenSSL 3.0 RSA_钞sir的博客-CSDN博客

Applink出错:Qt5使用openssl实现RSA数字签名_晚风_清扬的博客-CSDN博客_qt实现电子签名

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值