我有以下设置:
$ qmake --version
QMake version 3.1
Using Qt version 5.9.5
Run Code Online (Sandbox Code Playgroud)
我正在使用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: /sf/ask/3639622241/
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)
...
Run Code Online (Sandbox Code Playgroud)
核心部分是
SET(QT5_MODULES Core Widgets PrintSupport)
find_package(Qt5 COMPONENTS ${QT5_MODULES} REQUIRED)
Run Code Online (Sandbox Code Playgroud)
现在,当我添加Quick或QuickControls2到 时QT5_MODULES,CMake找不到这些,并且我在 cmake-config 步骤中看到此错误:
/usr/lib/x86_64-linux-gnu/cmake/Qt5/Qt5Config.cmake:28 (find_package) 处的 CMake 错误:找不到“Qt5Quick”提供的具有以下任何名称的包配置文件:
Run Code Online (Sandbox Code Playgroud)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
Run Code Online (Sandbox Code Playgroud)
如何修复此错误并找到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
| 归档时间: |
|
| 查看次数: |
1258 次 |
| 最近记录: |