QT5:未找到 QTQuick.Controls 2.12 版
Posted
技术标签:
【中文标题】QT5:未找到 QTQuick.Controls 2.12 版【英文标题】:QT5: QTQuick.Controls version 2.12 is not found 【发布时间】:2021-04-08 13:10:35 【问题描述】:我的 Qt 应用程序无法启动并出现以下错误:
module "QtQuick.Controls" version 2.12 is not installed
我的平台是Ubuntu 20.04.2 LTS
。这是 *** 上的一个众所周知的错误。不幸的是,到目前为止,没有任何答案对我有用。我已经用尽了所有建议的补救措施,没有任何改善。列举如下:
-
检查 Qt 与 QuickControls 的兼容性:我在 QtCreator 和 QtCreator 4.11.0 中使用
Qt 5.12.8
。我使用sudo apt install qt5 default
和sudo apt-get install qtcreator
安装了Qt。根据文档(见here,Qt 5.12 直接兼容QtQuick 2.12:
检查我是否将 QtQuick 指定为依赖项:在我的 .pro
文件中,我添加了 QT += quick qml quickcontrols2
检查我是否有正确的库:我有 qtquickcontrols2-5-dev
、qt5declarative5-dev
和 qml-module-qtquick-controls
。此外,apt-cache search qtquick
告诉我所有 qtquick 模块都在那里
重新安装qtcreator:有些问题建议重新安装QtCreator。这个我试过了,没有效果
QML 仿真层:我已将我的项目配置为“使用使用所选 Qt 构建的 QML 仿真层”。但是,这也没有效果
执行了这些步骤中的每一个,并用尽了与该主题相关的所有 *** 问题和 Github 线程,我仍然找不到导致此问题的原因。
我还包括了一些我尝试过的相关问题。问题 4 可能是最接近我的,但通过我没有使用的 Yocto 构建系统解决了:
-
import QtQuick.Controls 2.1 QML MODULE NOT FOUND
Error module "QtQuick" version 2.12 is not installed
Ubuntu QT install qt quick controls 2.1
Qt - Module "QtQuick.Controls" is not installed
对于进一步解决此问题的任何建议,我将非常感激。
【问题讨论】:
你是如何运行应用程序的?从 QtCreator 内部或外部(即从命令行)。 @Amfasis 来自 QtCreator。尽管我自己也刚刚从终端执行了二进制文件。都不工作 您是否在ldconfig
(或sudo ldconfig
)的输出中找到libQt5QuickControls2.so.5
?
@Amfasis 在/usr/lib/x86_64-linux-gnu
,我有libQt5QuickControls2.so.5
、libQt5QuickControls2.so.5.12
和libQt5QuickControls2.so.5.12.8
。
但如果ldconfig
没有找到这些,您需要更新您的 ld-conf。您可能可以使用LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu app
运行该应用程序?
【参考方案1】:
您缺少控件 2 的 qml 模块,因为您安装了 qml-module-qtquick-controls
而不是 qml-module-qtquick-controls2
。
QML 引擎将通过遵循命名空间在QML2_IMPORT_PATH
的路径内查找模块,因此在本例中为QML2_IMPORT_PATH/QtQuick/Controls
和QML2_IMPORT_PATH/QtQuick/Controls.2
(参见version semantics documentation)。如果在这些文件夹中找到qmldir
文件,它将对其进行解析并查找至少有 2 个主要组件和小于或等于 12 个组件的组件(尽管这个特定的 qmldir 没有说明任何组件.. . 它可能还读取 libqtquickcontrols2plugin.so 或 plugin.qmltypes)
【讨论】:
以上是关于QT5:未找到 QTQuick.Controls 2.12 版的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Ubuntu 上安装 QtQuick.Controls 1.4?
如何运行导入 QtQuick2.0 和 QtQuick.Controls 1.1 的应用程序
无法将 QtQuick Controls 2 与 Pyside 2 一起使用
如何在 TableView QtQuick.Controls 2.4 中实现 TableView QtQuick.Controls 1.4 的 Selectable future