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中寻找

相关推荐
山茶花开时。4 分钟前
[SAP ABAP] 版本管理
开发语言·sap·abap
界面开发小八哥4 分钟前
跨平台Ribbon UI组件QtitanRibbon全新发布v6.7.0——支持Qt 6.6.3
qt·ui·ribbon·界面控件·ui开发
量化交易学徒6 分钟前
【DevOps】Java内存分配与JVM参数详解
java·开发语言·jvm·参数调优
大柏怎么被偷了8 分钟前
【C++】认识使用string类
开发语言·c++
那个那个鱼21 分钟前
C#面:请写出C#中的单例模式
开发语言·单例模式·c#·.net
图灵追慕者40 分钟前
python绘制领域矩形
开发语言·python·领域
草丛中的蝈蝈1 小时前
ubuntu16.04上搭建qt开发环境
开发语言·qt
PPPPPaPeR.1 小时前
TopK问题与堆排序
c语言·开发语言·c++·算法
苏十八1 小时前
前端基础:JavaScript(篇一)
开发语言·前端·javascript·面试·html·ecmascript·html5
人才程序员1 小时前
【Rust入门】猜数游戏
开发语言·c++·后端·单片机·游戏·rust·c