By not providing "FindQt5.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Qt5", but CMake did not find one.
2024-10-20 20:30:58
环境 qt5.12.3 deepin15.10
cmake构建
由于之前使用的是仓库自带的qt环境,后来需要更高版本qt,于是从官网下载安装器自己安装,重新构建之后便出现这个问题,具体报错如下
CMake Warning at src/CMakeLists.txt:45 (find_package):
By not providing "FindQt5.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Qt5", but
CMake did not find one. Could not find a package configuration file provided by "Qt5" with any of
the following names: Qt5Config.cmake
qt5-config.cmake Add the installation prefix of "Qt5" to CMAKE_PREFIX_PATH or set "Qt5_DIR"
to a directory containing one of the above files. If "Qt5" provides a
separate development package or SDK, be sure it has been installed.
我去翻看了cmake官方文档,然后看到一篇文章才明白,cmake在find_package的时候需要提供对应模块的*.cmake文件,根据推测要么是cmake自己提供,显然不是,于是在我的qt安装目录下找到相应目录提供给cmake查找
在我的qt安装路径下的"/opt/Qt/5.12.3/gcc_64/lib/cmake"里面便可以找到提供给cmake的各个模块的文件夹,每个文件夹下提供了对应的*.cmake文件。这篇文章给我的答案:https://stackoverflow.com/questions/15639781/how-to-find-the-qt5-cmake-module-on-windows#
我是这样做的
set(CMAKE_PREFIX_PATH "/opt/Qt/5.12.3/gcc_64")
为每个模块提供*.cmake文件搜索路径
set(Qt5_DIR "${CMAKE_PREFIX_PATH}/lib/cmake/Qt5")
set(Qt5Widgets_DIR "${CMAKE_PREFIX_PATH}/lib/cmake/Qt5Widgets")
set(Qt5Network_DIR "${CMAKE_PREFIX_PATH}/lib/cmake/Qt5Network")
set(Qt5LinguistTools_DIR "${CMAKE_PREFIX_PATH}/lib/cmake/Qt5LinguistTools")
然后查找
find_package(Qt5 COMPONENTS Widgets Network LinguistTools)
最新文章
- 使用toggle()方法进行显示隐藏
- java jsp调用shell(带参数)脚本并返回值
- Android Touch(1)事件的传递流程(*)
- CodeForces - 385C Bear and Prime Numbers (埃氏筛的美妙用法)
- FMDatabaseQueue 如何保证线程安全
- appium键盘事件
- 074 hbase与mapreduce集成
- SSLv3存在严重设计缺陷漏洞(CVE-2014-3566)
- 通过wlst工具创建weblogic11g域单节点包括服务与被管服务
- HDU 2067 小兔的棋盘 (卡特兰数)
- react-router-dom 手动控制路由跳转
- Java并发编程原理与实战三十二:ForkJoin框架详解
- 浏览器内核控制meta name=";renderer"; 说明文档
- Q - Phalanx
- SAP ERP 6.0 EHP7 SR2(WINDOWS MSSQL版)安装说明
- 走进 UnitTest for Xamarin.Forms
- Redis三(List操作)
- linux下编译Boost库
- switch()出现警告warning:enumeration value ‘xxx’ not handled in switch
- luogu1578 奶牛浴场 枚举点最大子矩阵
热门文章
- ubuntu下Mysql安装与root密码重置
- 定位java程序中占用cpu最高的线程堆栈信息
- 【云原生 · Kubernetes】Taint和Toleration(污点和容忍)
- 记一次spark数据倾斜实践
- [排序算法] 双向冒泡排序 (C++)
- Karmada跨集群优雅故障迁移特性解析
- 9 STL-queue
- Java锁的逻辑(结合对象头和ObjectMonitor)
- Vue3“直接”修改props
- 5:Echarts数据可视化-多条曲线、多个子图、TreeMap类似盒图、树形图、热力图、词云