Qt5 和 CMake:找不到 Quick、QuickControls 模块

派对大便

我有以下设置:

$ qmake --version
QMake version 3.1
Using Qt version 5.9.5

我正在使用CMake以下相关说明(为您提供上下文):

set(CMAKE_PREFIX_PATH /usr/lib/qt5/bin/)

if(CMAKE_VERSION VERSION_LESS "3.7.0")
    set(CMAKE_INCLUDE_CURRENT_DIR ON)
endif()

set(CMAKE_MODULE_PATH /usr/lib/qt5)
# @see: https://stackoverflow.com/questions/51994603/cmake-qt5-undefined-reference-to-qprinterqprinterqprinterprintermode
SET(QT5_MODULES Core Widgets PrintSupport)
find_package(Qt5 COMPONENTS ${QT5_MODULES} REQUIRED)

set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(HW_GUI_DIR ${CMAKE_CURRENT_SOURCE_DIR}/gui)
# include_directories(${HW_HEADER_DIR})
set(CMAKE_AUTOUIC ON)
...

核心部分是

SET(QT5_MODULES Core Widgets PrintSupport)
find_package(Qt5 COMPONENTS ${QT5_MODULES} REQUIRED)

现在,当我添加QuickQuickControls2到 时QT5_MODULESCMake找不到那些,并且我在 cmake-config 步骤中看到了这个错误:

/usr/lib/x86_64-linux-gnu/cmake/Qt5/Qt5Config.cmake 中的 CMake 错误:28 (find_package):找不到“Qt5Quick”提供的具有以下任何名称的包配置文件:

Qt5QuickConfig.cmake
qt5quick-config.cmake

现在,不要混淆你,/usr/lib/x86_64-linux-gnu/qt5/bin似乎是一个符号链接/usr/lib/qt5,我已经检查过这样的:

$ ls -l /usr/lib/x86_64-linux-gnu/qt5/bin/
total 0
lrwxrwxrwx 1 root root 33 Oct 30 18:00 fixqt4headers.pl -> ../../../qt5/bin/fixqt4headers.pl
lrwxrwxrwx 1 root root 20 Oct 30 18:00 moc -> ../../../qt5/bin/moc
lrwxrwxrwx 1 root root 29 Oct 30 18:00 qdbuscpp2xml -> ../../../qt5/bin/qdbuscpp2xml
lrwxrwxrwx 1 root root 29 Oct 30 18:00 qdbusxml2cpp -> ../../../qt5/bin/qdbusxml2cpp

如何修复此错误并找到Quick模块?它有什么特别之处——我可以加载其他模块。

前贡献者

首先,请检查您是否安装了提供这些模块的正确软件包。由于您似乎在使用某些 Debian 衍生产品,因此您应该安装以下软件包名称:qtdeclarative5-dev 和 qtquickcontrols2-5-dev。看:

https://packages.debian.org/sid/amd64/qtdeclarative5-dev/filelist

https://packages.debian.org/sid/amd64/qtquickcontrols2-5-dev/filelist

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章