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 defaultsudo apt-get install qtcreator 安装了Qt。根据文档(见here,Qt 5.12 直接兼容QtQuick 2.12: 检查我是否将 QtQuick 指定为依赖项:在我的 .pro 文件中,我添加了 QT += quick qml quickcontrols2 检查我是否有正确的库:我有 qtquickcontrols2-5-devqt5declarative5-devqml-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.5libQt5QuickControls2.so.5.12libQt5QuickControls2.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/ControlsQML2_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?

错误:“未安装模块“QtQuick.Controls””

如何运行导入 QtQuick2.0 和 QtQuick.Controls 1.1 的应用程序

无法将 QtQuick Controls 2 与 Pyside 2 一起使用

在QtQuick中自定义样式[重复]

如何在 TableView QtQuick.Controls 2.4 中实现 TableView QtQuick.Controls 1.4 的 Selectable future