【问题标题】:Qt5 and CMake: cannot find Quick, QuickControls modulesQt5 和 CMake:找不到 Quick、QuickControls 模块
【发布时间】:2020-04-10 04:31:10
【问题描述】:

我有以下设置:

$ 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_MODULES 中时,CMake 找不到这些, 我在 cmake-config 步骤中看到了这个错误:

/usr/lib/x86_64-linux-gnu/cmake/Qt5/Qt5Config.cmake:28 处的 CMake 错误 (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 模块?它有什么特别之处——我可以加载其他模块。

【问题讨论】:

    标签: qt cmake


    【解决方案1】:

    首先,请检查您是否安装了提供这些模块的正确软件包。由于您似乎在使用一些 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-16
      • 1970-01-01
      • 2018-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多