CMake是怎么找到Qt相关模块的

当我们使用QT创建了一个CMake项目后,我们尝试使用CMake编译时,会遇到找不到Qt的模块的问题,

find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets WebSockets WebEngineWidgets)

复制代码

深入了解find_package之后,我们就明白COMPONENTS其实是一个选项,列出来了必选的模块。

一般我们不会在CMakeLists里面硬编码CMAKE_PREFIX_PATH,推荐通过环境变量找到模块。

Qt的模块是放在Qt/5.15.2/clang_64/lib/cmake,所以我们只需要配置

QT_DIR=Qt/5.15.2/clang_64

即可,因为find_package的prefix查找机制会自动补全lib/cmake部分:

cpp 复制代码
- <prefix>/
- <prefix>/(lib/<arch>|lib*|share)/cmake/<name>*/

复制代码

这样就能找到Qt的模块了

记得将QT_DIR环境变量放到PATH中,因为find_package会从PATH中寻找

相关推荐
聆风吟º2 分钟前
【C++藏宝阁】C++介绍:从发展历程到现代应用
开发语言·c++·应用领域·发展历程·起源
运维闲章印时光4 分钟前
单位本部与分部网络已实现互联互通,网络访问通畅,数据传输正常
开发语言·网络·php
艾莉丝努力练剑5 分钟前
艾莉丝努力练剑的2025年度总结
java·大数据·linux·开发语言·c++·人工智能·python
枫叶丹42 小时前
【Qt开发】Qt系统(一)-> 定时器 QTimerEvent 和 QTimer
c语言·开发语言·数据库·c++·qt·系统架构
林政硕(Cohen0415)3 小时前
ARM Linux Qt Widget 虚拟键盘输入法移植
linux·arm开发·qt·键盘·输入法
我居然是兔子8 小时前
异常练习:在试错中吃透Java异常处理的底层逻辑
java·开发语言
养一回月亮!8 小时前
使用Qt实现简单绘图板:鼠标绘制与擦除功能详解
开发语言·qt
BanyeBirth8 小时前
C++差分数组(二维)
开发语言·c++·算法
Tony Bai9 小时前
Go 的 AI 时代宣言:我们如何用“老”原则,解决“新”问题?
开发语言·人工智能·后端·golang
Fcy6489 小时前
C++ map和multimap的使用
开发语言·c++·stl