You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

QWebSocket项目OpenSSL部署报错,如何查看Qt Creator使用的OpenSSL依赖?

查看Qt对应OpenSSL依赖及问题修复方案

报错说明

你遇到的SSL缺失报错如下:

qt.network.ssl: No functional TLS backend was found
qt.network.ssl: No TLS backend is available

查看Qt使用的OpenSSL依赖的两种方法

  • 方法一:代码直接打印版本信息(最准确)
    在项目代码中加入以下调试代码,在Qt Creator正常运行时执行,即可得到当前Qt套件对应的OpenSSL版本信息:
#include <QSslSocket>
#include <QDebug>

// 放在main函数初始化阶段即可运行
qDebug() << "是否支持SSL:" << QSslSocket::supportsSsl();
qDebug() << "Qt编译时绑定的OpenSSL版本:" << QSslSocket::sslLibraryBuildVersionString();
qDebug() << "运行时实际加载的OpenSSL版本:" << QSslSocket::sslLibraryVersionString();

通过sslLibraryBuildVersionString的输出即可确定你需要的OpenSSL准确版本、位数。

  • 方法二:查看TLS后端插件的依赖
    找到你项目使用的Qt套件安装路径,进入对应架构的插件目录,例如C:/Qt/6.5.2/msvc2019_64/plugins/tls,找到qopensslbackend.dll文件,使用依赖查看工具(如Dependencies)打开该dll,就能直接看到它依赖的libcrypto、libssl的具体文件名和版本。

部署问题修复方案

你放错版本dll后Qt Creator也无法运行的核心原因是dll版本与Qt套件要求不匹配,按以下步骤操作即可修复:

  • 先通过上面的方法确认你需要的OpenSSL版本,是1.1.x系列还是3.x系列,32位还是64位,下载对应版本的dll放到exe同级目录,不要乱下不匹配的版本
  • 部署时除了OpenSSL的两个dll,还要把Qt套件目录下的tls整个文件夹复制到exe同级目录,Qt的TLS后端插件是必须部署的组件,只放OpenSSL dll无法生效
  • 不要把多个版本的OpenSSL路径同时加到系统环境变量,避免加载优先级冲突导致加载错版本dll

内容的提问来源于stack exchange,提问作者black_gay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 09:06:02