当前位置: 首页 > news >正文

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

目录

一、介绍

二、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.lryc.cn/news/417679.html

相关文章:

  • Netty高性能数据结构
  • 关于百度、微软语音合成的实现案例
  • 二叉树:镜像树,子结构,二叉树转链表,二叉树的倒数K个数,对称,Z型打印
  • 瑞秋,詹妮弗·安妮斯顿多年来与本·阿弗莱克保持着“调情”友谊 又一个詹妮弗
  • 指纹失效,忘记iPhone屏幕解锁密码怎么应对?
  • 09.XSS跨站脚本攻击(超详细!!!)
  • 讲解人工智能在现代科技中的应用和未来发展趋势-水文
  • 2.2 QT 环境配置
  • 2.类和对象(上)
  • 【实际案例】服务器宕机情况分析及处理建议
  • Linux系统之ncdu命令的基本使用
  • STM32L051K8U6-HAL-LED闪烁设计
  • 记一次远程API调用失败
  • 【力扣】746.使用最小花费爬楼梯
  • 06:【stm32】中断一:NVIC的配置
  • Flutter简介
  • WT2605C蓝牙语音芯片赋能对讲机新体验:无屏操控、音频解码与蓝牙音箱三合一
  • ctfshow-web入门-sql注入(web191-web195)
  • 【ARM】v8架构programmer guide(3)_ARMv8的寄存器
  • SpringIOC整合dbUtil做的增删改查以及转账业务的实现
  • 【Nacos无压力源码领读】(二) 集成 LoadBanlancer 与 OpenFeign
  • CP AUTOSAR标准之DefaultErrorTracer(AUTOSAR_SWS_DefaultErrorTracer)(更新中……)
  • SpringMVC (发送请求——>参数传递—— >响应数据)
  • 认识Modbus RTU与Modbus TCP
  • 如何在 Kubernetes 中使用 ClickHouse 和 JuiceFS
  • 云计算任务调度优化matlab仿真,对比蚁群优化和蛙跳优化
  • 基于双PI+EKF扩展卡尔曼滤波的PMSM速度控制simulink建模与仿真
  • 医疗器械注册资源宝库数屿医械官方平台!
  • Django如何移除数据库字段?
  • 阶段项目——拼图小游戏