Qt6环境下CMake构建QCA库时提示找不到Qt5报错
QCA库独立输出编译产物时的CMake报错处理
报错核心说明
日志中的内容分两类:
- 非阻断提示:
Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
这是QCA的配置流程默认尝试调用Doxygen生成开发文档时的提示,不会中断编译流程,不需要生成文档的话直接关闭文档生成开关即可消除该提示。 - 阻断性错误:CMake在执行源码第47行的
find_package查找Qt5(要求版本≥5.9)操作时失败
根因是当前开发环境仅安装了Qt 6版本,不存在Qt5对应的CMake配置文件(Qt5Config.cmake/qt5-config.cmake),而当前获取的源码CMake逻辑没有适配自动识别Qt6的能力,强制查找Qt5导致配置中断。
对应解决方法
适配现有Qt6环境编译
- 先确认获取的QCA源码是支持Qt6的较新版本,老旧分支的QCA仅能在Qt5环境下编译,无法直接适配Qt6。
- 修改源码内硬编码查找Qt5的逻辑,新增可传入Qt版本参数的判断,替代写死的Qt5查找语句。
- 配置时传入Qt6的安装路径,同时关闭文档生成消除Doxygen提示,示例命令:
命令中的cmake -B build -S . -DCMAKE_PREFIX_PATH="你的Qt6安装路径/对应编译器套件目录" -DQCA_BUILD_DOCS=OFF-B build参数即为指定独立的编译产物输出目录,匹配你原本的操作需求。
匹配源码原有Qt5要求编译
- 单独安装Qt 5.9及以上版本的开发组件,安装时不要跳过开发库相关的选项。
- 配置时传入Qt5的安装路径,示例命令:
cmake -B build -S . -DCMAKE_PREFIX_PATH="你的Qt5安装路径/对应编译器套件目录" -DQCA_BUILD_DOCS=OFF - 若配置后仍提示找不到Qt5,可手动指定
Qt5_DIR路径到Qt5安装目录下的lib/cmake/Qt5文件夹,该路径下存放着CMake识别需要的全部配置文件。
内容的提问来源于stack exchange,提问作者MHC-1
相关产品推荐
相关产品推荐

