首页 > 解决方案 > 如何在archlinux上安装旧的QT版本?

问题描述

我很久以前就安装了 pacman 的 QT5。

qmake -v          
QMake version 3.1
Using Qt version 5.15.2 in /usr/lib

我想安装 QT 5.5.1,所以我下载了qt-everywhere-opensource-src-5.5.1.7z并按照自述文件进行操作。这是最终结果:

make[3]: *** [Makefile:21908: .obj/qsslcertificate_openssl.o] Error 1
make[3]: Leaving directory '/home/chippy/Downloads/qt-everywhere-opensource-src-5.5.1/qtbase/src/network'
make[2]: *** [Makefile:192: sub-network-make_first] Error 2
make[2]: Leaving directory '/home/chippy/Downloads/qt-everywhere-opensource-src-5.5.1/qtbase/src'
make[1]: *** [Makefile:46: sub-src-make_first] Error 2
make[1]: Leaving directory '/home/chippy/Downloads/qt-everywhere-opensource-src-5.5.1/qtbase'
make: *** [Makefile:73: module-qtbase-make_first] Error 2

然后我下载了 qt-opensource-linux-x64-5.5.1.run在 shell 上运行:

$ ./qt-opensource-linux-x64-5.5.1.run                      
static QPlatformTheme* QKdeTheme::createKdeTheme(): Unable to determine KDE dirs
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_num_locks
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_id_callback
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_locking_callback
qt.network.ssl: QSslSocket: cannot resolve ERR_free_strings
qt.network.ssl: QSslSocket: cannot resolve sk_new_null
qt.network.ssl: QSslSocket: cannot resolve sk_push
qt.network.ssl: QSslSocket: cannot resolve sk_free
qt.network.ssl: QSslSocket: cannot resolve sk_num
qt.network.ssl: QSslSocket: cannot resolve sk_pop_free
qt.network.ssl: QSslSocket: cannot resolve sk_value
qt.network.ssl: QSslSocket: cannot resolve SSL_library_init
qt.network.ssl: QSslSocket: cannot resolve SSL_load_error_strings
qt.network.ssl: QSslSocket: cannot resolve SSLv2_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv3_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv23_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv2_server_method
qt.network.ssl: QSslSocket: cannot resolve SSLv3_server_method
qt.network.ssl: QSslSocket: cannot resolve SSLv23_server_method
qt.network.ssl: QSslSocket: cannot resolve X509_STORE_CTX_get_chain
qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
qt.network.ssl: QSslSocket: cannot resolve SSLeay
qt.network.ssl: QSslSocket: cannot resolve SSLeay_version
qt.network.ssl: QSslSocket: cannot call unresolved function CRYPTO_num_locks
qt.network.ssl: QSslSocket: cannot call unresolved function CRYPTO_set_id_callback
qt.network.ssl: QSslSocket: cannot call unresolved function CRYPTO_set_locking_callback
qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init
Could not register file downloader for https protocol: QSslSocket::supportsSsl() returns false
[7] Warning: QSslSocket: cannot call unresolved function SSLv23_client_method
[8] Warning: QSslSocket: cannot call unresolved function sk_num
[1]    17534 segmentation fault (core dumped)  ./qt-opensource-linux-x64-5.5.1.run

我无法理解错误,我不知道这是否是解决问题的正确方法。

标签: c++linuxqtarchlinux

解决方案


删除以前的 qt,然后安装一个新的 . 请参阅有关删除 Qt的信息

您应该转到安装 Qt 的路径,然后运行维护工具.exe 文件。然后卸载以前的,安装新的。


推荐阅读