繁体   English   中英

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

[英]Qt5 and CMake: cannot find Quick, QuickControls modules

我有以下设置:

$ 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM