【QT】找不到qwt_plot.h

系统环境:
linux 20.04
qt 6.7.2
cmake 3.22

原因:

Qwt没有正式的FindQwt.cmake,Qwt也没有提供QwtConfig.cmake。而且cmake不支持qmake的配置特性,也不支持读取mkspecs (.prf)文件。也就是说cmake构建的qt项目不可用qwt。

解决步骤:

1. 添加qwt模块

在CmakelLists.txt中添加如下代码

find_package(Qwt REQUIRED)

如果提示找不到FindQwt.cmake,执行步骤 2。

2. 添加FindQwt.cmake

/usr/share/cmake-3.22/Modules(替换自己的cmake版本)路径下自行创建FindQwt.cmake ,内容如下:[cmake参考链接]https://gitlab.kitware.com/cmake/community/-/wikis/contrib/modules/FindQwt)

# Qt Widgets for Technical Applications
# available at http://www.http://qwt.sourceforge.net/
#
# The module defines the following variables:
#  Qwt_FOUND - the system has Qwt
#  QWT_INCLUDE_DIR - where to find qwt_plot.h
#  QWT_INCLUDE_DIRS - qwt includes
#  QWT_LIBRARY - where to find the Qwt library
#  QWT_LIBRARIES - aditional libraries
#  QWT_VERSION_STRING - version (ex. 5.2.1)
#
# It also defines this imported target:
#  Qwt::Qwt#=============================================================================
# Copyright 2010-2013, Julien Schueller
# Copyright 2018-2020, Rolf Eike Beer
# All rights reserved.
# 
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met: 
# 
# 1. Redistributions of source code must retain the above copyright notice, this
#    list of conditions and the following disclaimer. 
# 2. Redistributions in binary form must reproduce the above copyright notice,
#    this list of conditions and the following disclaimer in the documentation
#    and/or other materials provided with the distribution. 
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.# The views and conclusions contained in the software and documentation are those
# of the authors and should not be interpreted as representing official policies, 
# either expressed or implied, of the FreeBSD Project.
#=============================================================================if (Qt5Gui_FOUND)get_target_property(QT_INCLUDE_DIR Qt5::Gui INTERFACE_INCLUDE_DIRECTORIES)
endif ()find_path ( QWT_INCLUDE_DIRNAMES qwt_plot.hHINTS ${QT_INCLUDE_DIR}PATH_SUFFIXES qwt qwt-qt5 qwt6
)set ( QWT_INCLUDE_DIRS ${QWT_INCLUDE_DIR} )# version
set ( _VERSION_FILE ${QWT_INCLUDE_DIR}/qwt_global.h )
if ( EXISTS ${_VERSION_FILE} )file ( STRINGS ${_VERSION_FILE} _VERSION_LINE REGEX "define[ ]+QWT_VERSION_STR" )if ( _VERSION_LINE )string ( REGEX REPLACE ".*define[ ]+QWT_VERSION_STR[ ]+\"([^\"]*)\".*" "\\1" QWT_VERSION_STRING "${_VERSION_LINE}" )endif ()
endif ()
unset ( _VERSION_FILE )find_library ( QWT_LIBRARYNAMES qwt qwt-qt5HINTS ${QT_LIBRARY_DIR}
)set ( QWT_LIBRARIES ${QWT_LIBRARY} )include ( FindPackageHandleStandardArgs )
find_package_handle_standard_args( Qwt REQUIRED_VARS QWT_LIBRARY QWT_INCLUDE_DIR VERSION_VAR QWT_VERSION_STRING )if (Qwt_FOUND AND NOT TARGET Qwt::Qwt)add_library(Qwt::Qwt UNKNOWN IMPORTED)set_target_properties(Qwt::Qwt PROPERTIESINTERFACE_INCLUDE_DIRECTORIES "${QWT_INCLUDE_DIRS}"IMPORTED_LOCATION "${QWT_LIBRARIES}")
endif ()mark_as_advanced (QWT_LIBRARYQWT_INCLUDE_DIR
)

保存重新编译运行项目图标效果即可显示。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/66120.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

杰发科技——使用ATCLinkTool解除读保护

0. 原因 在jlink供电电压不稳定的情况下,概率性出现读保护问题,量产时候可以通过离线烧录工具避免。代码中开了读保护,但是没有通过can/uart/lin/gpio控制等方式进行关闭,导致无法关闭读保护。杰发所有芯片都可以用本方式解除读保…

Sublime Text4 4189 安装激活【 2025年1月3日 亲测可用】

-----------------测试时间2025年1月3日------------------- 下载地址 官方网址:https://www.sublimetext.com 更新日志:https://www.sublimetext.com/download V4189 64位:https://www.sublimetext.com/download_thanks?targetwin-x64 ....…

前后端规约

文章目录 引言I 【强制】前后端交互的 API请求内容响应体响应码II 【推荐】MVC响应体III【参考】IV 其他引言 服务器内部重定向必须使用 forward;外部重定向地址必须使用 URL 统一代理模块生成,否则会因线上采用 HTTPS 协议而导致浏览器提示“不安全”,并且还会带来 URL 维护…

linux安装redis及Python操作redis

目录 一、Redis安装 1、下载安装包 2、解压文件 3、迁移文件夹 4、编译 5、管理redis文件 6、修改配置文件 7、启动Redis 8、将redis服务交给systemd管理 二、Redis介绍 1、数据结构 ①字符串String ②列表List ③哈希Hash ④集合Set ⑤有序集合Sorted Set 2、…

在线RSA pem 密钥pkcs1转pkcs8格式--支持公钥和私钥

具体前往:在线RSA密钥pkcs1转pkcs8--在线将RSA私钥/公钥的pkcs1格式转换到pkcs8格式,支持pem格式

修复OpenLinkSaas客户端在使用AtomGit账号时页面崩溃

问题描述:当一个新的AtomGit用户登录OpenLinkSaas客户端后出现了页面崩溃。 从浏览器控制台来看,是gitNoticeList出现了null。 查看代码后发现是请求atomGit api是返回的一个null的列表 接下来我们加下保护性的代码,来兼容null或undefine的情…

rocketmq-pull模式-消费重平衡和拉取PullTaskImpl线程

1、观察consumer的线程模型 使用arthas分析 MQClientFactoryScheduledThread 定时任务线程 (和push模式一致) 定时任务线程,包含如下任务: 每2分钟更新nameServer列表 每30秒更新topic的路由信息 每30秒检查broker的存活&#x…

Ungoogled Chromium127 编译指南 MacOS 篇(二)- 项目要求

1. 引言 在开始编译 Ungoogled Chromium 之前,我们需要确保系统满足所有必要的硬件和软件要求。由于浏览器编译是一个资源密集型的任务,合适的硬件配置和完整的软件环境至关重要。本文将详细介绍编译 Ungoogled Chromium 所需的各项要求。 2. 硬件要求…

51单片机——共阴数码管实验

数码管中有8位数字,从右往左分别为LED1、LED2、...、LED8,如下图所示 如何实现点亮单个数字,用下图中的ABC来实现 P2.2管脚控制A,P2.3管脚控制B,P2.4管脚控制C //定义数码管位选管脚 sbit LSAP2^2; sbit LSBP2^3; s…

调试:用电脑开发移动端网页,然后用手机真机调试

一、背景 电脑开发移动端,然后想真机调试... 二、实现 2.1、电脑和手机链接相同局域网 2.2、pnpm run dev 启动项目 2.3、浏览器访问 localhost:3001/login 2.4、Windowsr 输入cmd,在cmd输入 ipconfig 2.5、浏览器访问 ip地址加/login 2.6、手机端…

Kbuild学习知识点

1.Kbuild本质:一个可扩展、可配置的Makefile框架,递归式Makefile,菜单式配置。 2.Kbuild构成: Makefile:顶层目录下的Makefile.config:内核的配置文件arch/S(ARCH)/Makefile:跟平台架构相关的Makefilescripts/Makefile.*:通用编…

《Vue3实战教程》39:Vue3无障碍访问

如果您有疑问,请观看视频教程《Vue3实战教程》 无障碍访问​ Web 无障碍访问 (也称为 a11y) 是指创建可供任何人使用的网站的做法——无论是身患某种障碍、通过慢速的网络连接访问、使用老旧或损坏的硬件,还是仅处于某种不方便的环境。例如,…

抢先体验:人大金仓数据库管理系统KingbaseES V9 最新版本 CentOS 7.9 部署体验

一、简介 KingbaseES 是中国人大金仓信息技术股份有限公司自主研发的一款通用关系型数据库管理系统(RDBMS)。 作为国产数据库的杰出代表,它专为中国市场设计,广泛应用于政府、金融、能源、电信等关键行业,以高安全性…

基于 GitHub API 的 Issue 和 PR 自动化解决方案

文章目录 摘要引言优化 Issue 和 PR 管理的方法工具选择流程优化 自动化 Issue 和 PR 管理代码逻辑详解获取 Issue 数据为 Issue 添加标签将 Issue 分配给开发者主逻辑 实际运行效果进一步扩展QA 环节总结参考资料 摘要 在开源项目中,Issue 和 Pull Request&#x…

趣味编程:心形曲线

目录 1.序言 2.代码展示 3.代码详解 3.1 头文件包含 3.2 绘制坐标轴函数 3.3 main 函数主体部分 4. 小结 1.序言 2025年的第一篇博客就用这个笛卡尔心形图开篇吧,寓意着新年大家能够有心有所属,祝诸位程序猿 / 程序媛 能够早点遇到自己的另一半。…

解决uniapp H5页面限制输入框只能输数字问题

工作记录 最最近在做 uniapp 开发的移动端 H5 页面,有个需求是金额输入框只能输入数字,不能输入小数点和其他字符,经过各种尝试,发现其他字符可以通过正则过滤掉,但是输入小数点的话,因为没有触发 input 和…

group by 执行顺序

后面也会持续更新,学到新东西会在其中补充。 建议按顺序食用,欢迎批评或者交流! 缺什么东西欢迎评论!我都会及时修改的! 感谢各位大佬写的文章让我学到很多东西!只是在各位大佬的基础加了我自己的思路&a…

初学stm32 --- FSMC驱动LCD屏

目录 FSMC简介 FSMC框图介绍 FSMC通信引脚介绍 FSMC_NWE 的作用 FSMC_NWE 的时序关系 FSMC_NOE 的含义 FSMC_NOE 的典型用途 FSMC_NOE 的时序关系 使用FSMC驱动LCD FSMC时序介绍 时序特性中的 OE ILI9341重点时序: FSMC地址映射 HADDR与FSMC_A关系 LCD的…

Nginx - 整合lua 实现对POST请求的参数拦截校验(不使用Openresty)

文章目录 概述步骤 1: 安装 Nginx 和 Lua 模块步骤 2: 创建 Lua 脚本用于参数校验步骤 3: 配置 Nginx 使用 Lua 脚本写法二: 状态码写法三 : 返回自定义JSON复杂的正则校验 步骤 4: 测试和验证ngx.HTTP_* 枚举值 概述 一个不使用 OpenResty 的 Nginx 集…

GRAPE——RLAIF微调VLA模型:通过偏好对齐提升机器人策略的泛化能力(含24年具身模型汇总)

前言 24年具身前沿模型大汇总 过去的这两年,工作之余,我狂写大模型与具身的文章,加之具身大火,每周都有各种朋友通过CSDN私我及我司「七月在线」寻求帮助/指导(当然,也欢迎各大开发团队与我司合作共同交付&#xff09…