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 分钟前
48 C++ STL模板库17-容器9-关联容器-映射(map)多重映射(multimap)
开发语言·c++
ankleless1 小时前
Python 数据可视化:Matplotlib 与 Seaborn 实战
开发语言·python
Gavin_9152 小时前
一文速通Ruby语法
开发语言·ruby
搞一搞汽车电子2 小时前
vs studio 2017项目不支持studio vs2022
开发语言
witkey_ak98962 小时前
python 可迭代对象相关知识点
开发语言·python
呼啦啦啦啦啦啦啦啦3 小时前
synchronized锁,ReentrantLock 锁
开发语言·
听风的码3 小时前
Vue2封装Axios
开发语言·前端·javascript·vue.js
素界UI设计4 小时前
建筑行业变革:用Three.js构建BIM数据可视化孪生平台
开发语言·javascript·信息可视化
王廷胡_白嫖帝5 小时前
Qt个人通讯录项目开发教程 - 从零开始构建联系人管理系统
开发语言·qt
戏言zare5 小时前
Qt设置软件使用期限【新版防修改系统时间】
qt