Qt6.6.0与CMake配置报错:无法找到兼容的Qt6配置文件
Qt6.6.0 + CMake构建报错解决
问题描述
使用Qt6.6.0和CMake构建项目时,出现如下CMake错误:
CMake Error at CMakeLists.txt:13 (find_package): Could not find a configuration file for package "Qt6" that is compatible with requested version "". The following configuration files were considered but not accepted: D:/Qt6/6.6.0/mingw_64/lib/cmake/Qt6/Qt6Config.cmake, version: 6.6.0 (64bit)
已确认D:/Qt6/6.6.0/mingw_64/lib/cmake/Qt6/Qt6Config.cmake存在,且设置了CMAKE_PREFIX_PATH,但报错未消除。当前CMakeLists.txt内容如下:
cmake_minimum_required(VERSION 3.25) project(untitled2) set(CMAKE_CXX_STANDARD 23) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_PREFIX_PATH "D:/Qt6/6.6.0/mingw_64/lib/cmake") set(QT_VERSION 6.6.0) find_package(Qt6 COMPONENTS Core Gui Widgets REQUIRED) add_executable(untitled2 main.cpp) target_link_libraries(untitled2 Qt::Core Qt::Gui Qt::Widgets ) if (WIN32 AND NOT DEFINED CMAKE_TOOLCHAIN_FILE) if (MSVC AND CMAKE_BUILD_TYPE MATCHES "Debug") set(DEBUG_SUFFIX "d") endif () set(QT_INSTALL_PATH "${CMAKE_PREFIX_PATH}") if (NOT EXISTS "${QT_INSTALL_PATH}/bin") set(QT_INSTALL_PATH "${QT_INSTALL_PATH}/..") if (NOT EXISTS "${QT_INSTALL_PATH}/bin") set(QT_INSTALL_PATH "${QT_INSTALL_PATH}/..") endif () endif () if (EXISTS "${QT_INSTALL_PATH}/plugins/platforms/qwindows${DEBUG_SUFFIX}.dll") add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory "$<TARGET_FILE_DIR:${PROJECT_NAME}>/plugins/platforms/") add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy "${QT_INSTALL_PATH}/plugins/platforms/qwindows${DEBUG_SUFFIX}.dll" "$<TARGET_FILE_DIR:${PROJECT_NAME}>/plugins/platforms/") endif () foreach (QT_LIB Core Gui Widgets) add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy "${QT_INSTALL_PATH}/bin/Qt6${QT_LIB}${DEBUG_SUFFIX}.dll" "$<TARGET_FILE_DIR:${PROJECT_NAME}>") endforeach (QT_LIB) endif ()
解决方案
修正CMAKE_PREFIX_PATH路径:将路径设置为Qt的MinGW根目录,而非
lib/cmake子目录。修改后代码:set(CMAKE_PREFIX_PATH "D:/Qt6/6.6.0/mingw_64")CMake会自动在指定前缀路径下搜索
lib/cmake目录,直接设置根目录能让CMake正确识别Qt的版本与平台信息。明确指定Qt版本查找:在
find_package时传入定义好的QT_VERSION,避免请求版本为空的问题。修改后代码:find_package(Qt6 ${QT_VERSION} COMPONENTS Core Gui Widgets REQUIRED)检查工具链兼容性:确保CLion配置的CMake工具链是与Qt匹配的64位MinGW版本。Qt使用
mingw_64,所以CLion的Toolchain设置需选择对应MinGW 64位编译器,避免与MSVC或32位MinGW混用导致平台不兼容。清理CMake缓存并重构:在CLion中通过
File -> Reload CMake Project刷新配置,或手动删除项目build目录后重新生成构建文件,清除旧缓存带来的配置冲突。
内容的提问来源于stack exchange,提问作者mdr
相关产品推荐
相关产品推荐

