我正在尝试手动设置一个在Ubuntu20.04LTS上使用QT6的QT6项目。这就是CMakeLists.txt的样子:
cmake_minimum_required(VERSION 3.16)
project(Button, LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_PREFIX_PATH "home/ilmu011/Qt/6.2.3/gcc64")
find_package(Qt6 REQUIRED COMPONENTS Widgets)
add_executable(Button
main.cpp
)但是,CMake声明它没有找到QT6安装。它安装在home/ilmu011/Qt/6.2.3/gcc64 64下。但我收到一条错误信息:
CMake Error at CMakeLists.txt:14 (find_package):
By not providing "FindQt6.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Qt6", but
CMake did not find one.
Could not find a package configuration file provided by "Qt6" with any of
the following names:
Qt6Config.cmake
qt6-config.cmake
Add the installation prefix of "Qt6" to CMAKE_PREFIX_PATH or set "Qt6_DIR"
to a directory containing one of the above files. If "Qt6" provides a
separate development package or SDK, be sure it has been installed.
-- Configuring incomplete, errors occurred!
See also "/home/ilmu011/Desktop/Button/build/CMakeFiles/CMakeOutput.log".
make: *** [Makefile:176: cmake_check_build_system] Error 1它告诉我将CMAKE_PREFIX_PATH设置为QT6位置,这是我在这里做的,但仍然无法工作。我四处寻找解决方案,发现了这篇文章:
CMAKE_PREFIX_PATH doesn't help CMake in finding Qt5
它说,由于错误消息还指出,最终需要一个单独的开发包来提供CMake抱怨的"qt6-config.cmake“,所以我应该尝试安装以下两件东西:
sudo apt-get install qtbase5 5-dev sudo apt-get install qtstatative5-dev
但是,这些都是针对QT5的,但没有起作用。如何让CMake检测到QT6?
发布于 2022-07-03 01:11:21
我寻找答案是因为我遇到了一个类似的问题,我的Qt版本是6.3.0而不是6.2.3,cmake版本是3.22.1,Ubuntu22.04。要消除以前的错误,确实需要删除cmake文件夹:
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
#this solution was suggested by another stackoverflow user and it worked too
#list(APPEND CMAKE_PREFIX_PATH "/home/username/Qt/6.3.0/gcc_64")
set(CMAKE_PREFIX_PATH "/home/username/Qt/6.3.0/gcc_64")
find_package(Qt6 CONFIG REQUIRED COMPONENTS Core Gui)Qt6CoreTools_DIR,Qt6Core_DIR,Qt6DBusTools_DIR,Qt6GuiTools_DIR,Qt6Gui_DIR,Qt6_DIR,XKB_INCLUDE_DIR,XKB_LIBRARY也不知道为什么。
https://stackoverflow.com/questions/71448984
复制相似问题