Ubuntu 22.04下CMake构建Qt5项目时找不到Qt5LinguistTools
解决Ubuntu 22.04中CMake找不到Qt5LinguistTools的问题
核心问题分析
你遇到的CMake找不到Qt5LinguistTools的问题,根源在于依赖包安装不完整或CMake路径配置冲突:
qttools5-dev-tools仅提供运行时工具(如linguist、lrelease),但CMake配置文件属于另一个开发包;- 你的CMake同时检测到系统Qt和本地Qt 5.12.11,路径优先级导致配置异常。
解决方案
1. 安装正确的开发依赖包
Ubuntu 22.04中,Qt5LinguistTools的CMake配置文件属于qttools5-dev包,而非qttools5-dev-tools。执行以下命令安装:
sudo apt update && sudo apt install qttools5-dev
安装完成后,系统路径下会生成/usr/lib/x86_64-linux-gnu/cmake/Qt5LinguistTools/Qt5LinguistToolsConfig.cmake,CMake即可识别。
2. 强制CMake使用本地Qt 5.12.11
如果你的项目依赖本地安装的Qt 5.12.11而非系统Qt,需在运行CMake时明确指定路径:
- 方法一:设置
CMAKE_PREFIX_PATH指向本地Qt根目录:cmake -DCMAKE_PREFIX_PATH=/Users/Shared/Qt/5.12.11/clang_64 .. - 方法二:直接指定
Qt5LinguistTools_DIR:cmake -DQt5LinguistTools_DIR=/Users/Shared/Qt/5.12.11/clang_64/lib/cmake/Qt5LinguistTools ..
3. 检查本地Qt安装完整性
如果本地Qt 5.12.11目录下没有Qt5LinguistToolsConfig.cmake,说明安装时未勾选Qt Linguist Tools组件。重新运行Qt安装器,找到Qt 5.12.11的组件列表,勾选Qt Linguist Tools并完成安装。
验证配置
安装完成后,执行以下命令检查配置文件是否存在:
# 检查系统路径 ls /usr/lib/x86_64-linux-gnu/cmake/Qt5LinguistTools/ # 检查本地Qt路径 ls /Users/Shared/Qt/5.12.11/clang_64/lib/cmake/Qt5LinguistTools/
内容的提问来源于stack exchange,提问作者Mickaël C. Guimarães
相关产品推荐
相关产品推荐

