QWT+Qt Creator+MSVC的配置与使用

news2024/9/22 19:45:04

目录

一、介绍

二、QWT下载

三、QWT编译

3.1 设置构建套件

3.2 修改QWT相关文件 

3.3 进行QWT编译

四、QWT配置

4.1 配置QWT的lib文件

4.2 配置QWT的dll文件

4.3 配置QWT的designer的dll文件

五、代码实验


一、介绍

QWT,全称是Qt Widgets for Technical Applications,是一个基于LGPL版权协议的开源项目, 可生成各种统计图。

本文通过Qt Creator IDE使用MSVC编译器对QWT项目进行编译,生成dll文件和lib文件,并通过代码实验进行验证。

若有qwt的lib文件与dll的需求,可以在以下路径中下载。

QWT相关lib与dll文件下载

开发环境:

Qt版本:Qt 6.8.0

Qt Creator版本:Qt Creator 14.0.0 (Community)

MSVC版本:MSVC 2022_64

QWT版本:QWT 6.3.0

二、QWT下载

下载地址如下:

QWT下载地址 

下载解压后的目录结果如下:

三、QWT编译

3.1 设置构建套件

本次编译选择的构建套件为MSVC2022 64bit Release

 

3.2 修改QWT相关文件 

将qwt.prf文件的"QMAKE_RPATHDIR *= $${QWT_INSTALL_LIBS}"注释取消掉

注释前: 

#QMAKE_RPATHDIR *= $${QWT_INSTALL_LIBS}

注释后:

QMAKE_RPATHDIR *= $${QWT_INSTALL_LIBS}

将qwtbuild.pri文件的"CONFIG           += debug_and_release"注释掉

注释前:

CONFIG           += debug_and_release

注释后:

#CONFIG           += debug_and_release

3.3 进行QWT编译

进行qmake后进行构建

构建完成后会在构建目录里的lib文件夹生成qwt.lib、qwtd.lib、qwt.dll和qwtd.dll等文件。

以及designer/plugins/designer文件夹里的qwt_designer_plugin.dll文件

四、QWT配置

4.1 配置QWT的lib文件

将编译生成的qwt.lib、qwtd.lib复制到Qt安装目录的对应编译器版本的lib文件夹中,如下图所示:

4.2 配置QWT的dll文件

将编译生成的qwt.dll和qwtd.dll文件复制到Qt安装目录的对应编译器版本的bin文件夹中

4.3 配置QWT的designer的dll文件

将编译生成的qwt_designer_plugin.dll文件复制到Qt安装目录的对应编译器版本的plugins/designer文件夹中。

此外,将qwt_designer_plugin.dll文件也复制到Qt安装目录的Tools/QtCreator/bin/plugins/designer文件夹中。

五、代码实验

创建一个新的工程,在pro文件中增加相关配置

DEFINES += QT_DLL QWT_DLL
LIBS += -L"D:/SoftWare/Qt6/6.8.0/msvc2022_64/lib" -lqwtd
LIBS += -L"D:/SoftWare/Qt6/6.8.0/msvc2022_64/lib" -lqwt
INCLUDEPATH += D:/SoftWare/Qt6/6.8.0/msvc2022_64/include/qwt

注意,这里的头文件与lib文件作者根据自己的路径进行修改,若要编译release版本,则注释掉qwtd.lib的路径。

DEFINES += QT_DLL QWT_DLL
LIBS += -L"D:/SoftWare/Qt6/6.8.0/msvc2022_64/lib" -lqwtd
LIBS += -L"D:/SoftWare/Qt6/6.8.0/msvc2022_64/lib" -lqwt
INCLUDEPATH += D:/SoftWare/Qt6/6.8.0/msvc2022_64/include/qwt

在Qt Designer(MSVC 2022)中打开相关的mainwindow.ui文件。

添加Qwt类的控件,如:QwtPlot。

在Qt Creator进行构建编译,运行exe文件后的结果如下: 

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

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

相关文章

Python 异步编程:Asyncio 实现原理

常见的并发模型 多进程/多线程异步ActorPub/Sub Python 异步的基石:协程 协程简介 概念:协作式多任务的子程序,用户态线程或微线程(Coroutine)。 特点:子程序执行可以中断,恢复后不会丢失之…

uniapp 荣耀手机 没有检测到设备 运行到Android手机 真机运行

背景: 使用uniapp框架搭建的项目,开发的时候在浏览器运行,因为项目要打包成App,所以需要真机联调,需要运行到Android手机,在手机上查看/运行项目。通过真机调试才能确保软件开发的准确性和页面显示的完整性…

mac 2k显示器 配置

前言 今年5月份买了一个2k显示器,刚收到的时候发现只有一个1080 x 720(HiDPI)分辨率是人眼看起来比较舒服的,于是一直用着。但是直到开始写前端代码的时候,我才发现,网页在2k显示器和内建显示器的布局竟然…

Python 循环引用与内存泄漏:深度解析

Python 循环引用与内存泄漏:深度解析 在Python编程中,循环引用和内存泄漏是两个需要特别注意的问题。本文将深入探讨Python中的循环引用现象、其导致的内存泄漏问题,并提供详细的解决思路与方法。同时,我们还将分析一些常见场景&…

【CSDN平台BUG】markdown图片链接格式被手机端编辑器自动破坏(8.6 已修复)

文章目录 bug以及解决方法bug原理锐评后续 bug以及解决方法 现在是2024年8月,我打开csdn手机编辑器打算修改一下2023年12月的一篇文章,结果一进入编辑器,源码就变成了下面这个样子,我起初不以为意,就点击了发布&#…

【IoT NTN】面向 5G/6G 卫星:NTN 标准发展、关键技术与未来思考

目录 国际标准化进展 架构及关键技术 5GNTN组网架构 关键技术 1、时频同步技术 2、覆盖增强技术 3、移动性管理技术 4、混合自动重传请求技术 5、自适应调制与编码技术 挑战与潜在解决方案 星地协同全域覆盖模型 星地协同多维资源调度 星地协同多层卫星路由 星地…

网络主播进入国家职业分类!1500万主播将有新身份

在营销策划界摸爬滚打十多年的我,最近可是被一则劲爆消息给震撼到了——国家正式官宣了19个全新职业,这可是职场版图的一次大扩张啊! 其中最让人眼前一亮的是,网络主播竟然堂而皇之地登上了新职业的大舞台,正式“转正…

【多线程-从零开始-陆】wait、notify和notifyAll

线程饿死 一个或多个线程因为无法获得执行所需的资源(如CPU时间、锁、或其他同步控制)而被长时间阻塞或延迟执行的情况。尽管这些线程可能处于可执行状态并且已经准备好运行,但由于资源分配的不均衡或调度策略的问题,它们无法获得…

快讯 | 单卡4090显卡即可解锁视频生成,智谱AI CogVideoX模型开源!

在数字化浪潮的推动下,人工智能(AI)正成为塑造未来的关键力量。硅纪元视角栏目紧跟AI科技的最新发展,捕捉行业动态;提供深入的新闻解读,助您洞悉技术背后的逻辑;汇聚行业专家的见解,…

认识RAID磁盘阵列

文章目录 1、RAID磁盘阵列介绍2、多种RAID级别RAID 0 (条带化存储)RAID 1 (镜像存储)RAID 5RAID 6RAID 10(先做镜象,再做条带)RAID 01(先做条带,再做镜象)区别…

leetcode日记(64)最小覆盖子串

很复杂的题目,无论是思路还是实践都很难… 思路还是看了答案(?)设定两个指针“框”出一串字符串,初始两个指针都指在s的零位,先移动下指针,直到使框出的字符串中包含t中所有字符串,…

c# 排序、强转枚举

List<Tuple<double,int>> mm中doble从小到大排序 mm本身排序 在C#中&#xff0c;如果你有一个List<Tuple<double, int>>类型的集合mm&#xff0c;并且你想要根据Tuple中的double值&#xff08;即第一个元素&#xff09;从小到大进行排序&#xff0c;同…

TCP全队列连接,tcpdum抓包

TCP全队列连接&#xff0c;tcpdum抓包 1. listen的第二个参数作用2. 理解全连接队列&#xff08;原理&#xff09;3. 为什么要有全连接队列并且队列长度要适当4. 使用不tcpdump 进行抓包&#xff0c;分析TCP过程&#xff08;三次握手&#xff0c;四次挥手&#xff09;4.1安装tc…

CVE-2023-28525~文件上传【春秋云境靶场渗透】

# 今天我们来攻克CVE-2023-28525文件上传漏洞# 看到页面&#xff0c;经过尝试 账号&#xff1a;admin 密码&#xff1a;admin# 发现Posts可以添加文件上传# 尝试发现&#xff0c;只能上传图片格式的文件&#xff0c;那我们试一下看能不能上传成功# 发现上传失败&#xff0c;发现…

console与控制台使用demo

文章目录 console是一个普通(实例)对象A、函数对象拥有2个属性&#xff1a;B、console只有__proto__属性&#xff1a;C、综上&#xff0c;console是一个实例对象 console拥有的函数&#xff08;特殊列举&#xff09;占位符用法以参数为key记录执行次数——count()dir()和dirxml…

Cmake基础教程--第1章:初识cmake

Cmake基础教程--第1章&#xff1a;初识cmake 何为CmakeCmake的优缺点优点缺点 Cmake与makefile之间的关系C/C 如何编译为可执行文件一个最简单的Cmake示例 从本篇文章开始&#xff0c;我会出一系列文章&#xff0c;致力于Cmake工具的学习使用。阅读本文章之前&#xff0c; 作者…

#MFC 编译错误msvcrt.lib(exe_main.obj) : error LNK2019

如果是CMake&#xff0c;需要改如下&#xff1a; set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:CONSOLE") 改为 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:WINDOWS") 如果是mfc工程文件&#xff0c;需…

【数据结构】五、树:7.哈夫曼树、哈夫曼编码

3.哈夫曼树和哈夫曼编码 文章目录 3.哈夫曼树和哈夫曼编码3.1带权路径长度3.2哈夫曼树的定义和原理3.3哈夫曼树的构造代码实现 3.4特点3.5哈夫曼编码压缩比代码实现 3.6哈夫曼树-C 3.1带权路径长度 #mermaid-svg-yeVKyVnDwvdIc5ML {font-family:"trebuchet ms",verda…

【第18章】Spring Cloud之Gateway配置

文章目录 前言一、示例二、Route Metadata Configuration1. 路由元数据配置2. 获取元数据配置 三、Http timeouts configuration(请求超时配置)1. Global timeouts(全局)2. Per-route timeouts(路由) 四、CORS Configuration(跨域配置)1. Global CORS Configuration(全局)2. Ro…

【HarmonyOS NEXT星河版开发学习】小型测试案例07-弹性布局小练习

个人主页→VON 收录专栏→鸿蒙开发小型案例总结​​​​​ 基础语法部分会发布于github 和 gitee上面&#xff08;暂未发布&#xff09; 前言 在鸿蒙&#xff08;HarmonyOS&#xff09;开发中&#xff0c;Flex布局是一种非常有用的布局方式&#xff0c;它允许开发者创建灵活且响…