【QT】linux下ARM环境下编译的qt5.13.2,编译QSslConfiguration 报错的问题分析

最近遇到一个奇怪的bug,记录一下

客户使用qt5.12.2编译客户的程序,一切正常。使用我提供的qt5.13.2的编译报错。报错如下,显示报错的原因看上去是代码类的写的有问题。

在这里插入图片描述

自己写了个QSslConfiguration的demo,在一台x86的Ubuntu20安装了qt5.13,发现是可以编译OK的。在ARM上就编译不过,而且报错也是 variable 'QSslConfiguration conf' has initializer but incomplete type

demo地址
https://download.youkuaiyun.com/download/linbounconstraint/87554547?spm=1001.2014.3001.5501

在这里插入图片描述

Qt官方的sslechoserver例子,编译的话,也是QSslConfiguration 报错。所以初步感觉可能不是代码的问题,是ARM版本的qt,编译的有问题。QSslConfiguration是Network下的类,感觉像是openssl导致的。

后来发现的确是,在编译Network项,没打开openssl。
按如下步骤,重新编译。

root用户执行
1.
apt-get install libssl-dev
2.在qt-everywhere-src-5.13.2目录下
./configure -prefix /usr/local/qt-5.13.2 -release  -confirm-license  -opensource -nomake examples -nomake tests -recheck-all
3.
make -j 8
4.
make install

打开了Qt Network -> OpenSSL选项,然后重新编译qt即可。

Qt Network:
  getifaddrs() ........................... yes
  IPv6 ifname ............................ yes
  libproxy ............................... no
  Linux AF_NETLINK ....................... yes
  OpenSSL ................................ yes
    Qt directly linked to OpenSSL ........ no
  OpenSSL 1.1 ............................ yes
  DTLS ................................... yes
  OCSP-stapling .......................... yes
  SCTP ................................... no
  Use system proxies ..................... yes


编译demo,和官方的sslechoserver,就一切正常了。
在这里插入图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值