QT5.12.12 ERROR: Feature 'openssl-linked' was enabled, but the pre-condition '!features.securetransport && libs.openssl' failed. 已经设置 OPENSSL_PREFIX=/home/dev/work/qt-sources/build/openssl-1.1.1s \ OPENSSL_LIBS='-lcrypto -lssl' \ OPENSSL_INCDIR=/home/dev/work/qt-sources/build/openssl-1.1.1s/include \ OPENSSL_LIBDIR=/home/dev/work/qt-sources/build/openssl-1.1.1s/lib \
时间: 2023-07-19 22:24:29 浏览: 272
根据你提供的信息,你已经设置了 OpenSSL 的路径和库信息,但是仍然遇到了相同的错误。这可能是因为 QT 配置过程中没有正确识别 OpenSSL 的库和头文件路径,或者 OpenSSL 版本不兼容。
你可以尝试在 configure 命令中明确指定 OpenSSL 的库和头文件路径,方法是使用 -openssl-linked 选项,并在其后加上正确的路径信息。例如:
```
./configure -openssl-linked OPENSSL_PREFIX=/home/dev/work/qt-sources/build/openssl-1.1.1s OPENSSL_LIBS='-lcrypto -lssl' OPENSSL_INCDIR=/home/dev/work/qt-sources/build/openssl-1.1.1s/include OPENSSL_LIBDIR=/home/dev/work/qt-sources/build/openssl-1.1.1s/lib
```
如果仍然无法解决问题,可以尝试更新 OpenSSL 到最新版本,并重新编译 QT。如果你已经使用最新版本的 OpenSSL,可能需要查看 QT 的版本是否与 OpenSSL 兼容。QT5.12.12 可以使用 OpenSSL 1.1.1 系列的版本,建议使用这个版本进行编译。
相关问题
QT 5.12.12 编译 ERROR: Feature 'openssl-linked' was enabled, but the pre-condition '!features.securetransport && libs.openssl' failed.
这个错误信息表明在编译Qt 5.12.12时,开启了openssl-linked特性,但是条件检查失败了。这可能是由于系统中没有安装OpenSSL库或者Qt编译时没有找到OpenSSL库的原因。
你可以尝试以下解决方法:
1. 安装OpenSSL库
在Linux系统下,可以使用以下命令安装OpenSSL库:
```
sudo apt-get install libssl-dev
```
如果是在其他操作系统下,可以根据相应的包管理器安装OpenSSL库。
2. 指定OpenSSL库路径
如果系统中已经安装了OpenSSL库,但是Qt编译时没有找到,可以尝试指定OpenSSL库的路径。在执行./configure时,添加以下参数:
```
-openssl-linked -I/usr/local/ssl/include -L/usr/local/ssl/lib
```
其中,/usr/local/ssl是OpenSSL库的安装路径。
3. 禁用openssl-linked特性
如果以上两种方法都无法解决问题,可以尝试禁用openssl-linked特性,即在执行./configure时不开启openssl-linked特性,使用系统默认的加密库。可以使用以下参数:
```
-no-feature-openssl-linked
```
这样就可以禁用openssl-linked特性了。
希望以上解决方法能够帮助你成功编译Qt 5.12.12。
QT5.12.12 编译 报错 ERROR: Feature 'openssl-linked' was enabled, but the pre-condition '!features.securetransport && libs.openssl' failed. 怎么解决
这个错误提示的意思是,你启用了 OpenSSL 静态链接的功能,但是先决条件“!features.securetransport && libs.openssl”没有被满足。
这可能是因为你同时启用了 Secure Transport 和 OpenSSL,而这两个选项是互斥的。Secure Transport 是 macOS 系统自带的加密库,如果你在 macOS 上编译 QT,可以选择启用 Secure Transport,而不需要使用 OpenSSL。
如果你确实需要使用 OpenSSL,可以尝试禁用 Secure Transport 选项,方法是在 configure 命令中加入以下参数:
```
-no-feature-securetransport
```
这样就可以禁用 Secure Transport,使 OpenSSL 静态链接功能生效。同时,确保你已经安装了 OpenSSL 库和头文件,并在 configure 命令中指定正确的路径:
```
-I/path/to/openssl/include -L/path/to/openssl/lib
```
如果你已经禁用了 Secure Transport 选项,但仍然遇到相同的错误,请检查你的 OpenSSL 版本是否与 QT 要求的版本兼容。QT5.12.12 可以使用 OpenSSL 1.1.1 系列的版本,建议使用这个版本进行编译。
阅读全文