QT5.15.2+QWT6.2.0 配置 综述

QT5.15.2+QWT6.2.0 配置 综述

  • QWT介绍
    • Qwt 用户手册
    • Qwt 下载地址
    • QWT 下载文件介绍
  • 编译过程
    • 编译环境
    • 1.解压QWT
    • 2.关于编译前准备
    • 3.编译报错(关于Jom 报错)
    • 4.编译报错(关于QPainterPath)
  • QWT安装
    • 1.安装Designer中显示的控件
    • 2.qwt的动态库配置
    • 3..pro函数中添加以下声明
  • 其他:修改默认构建目录
    • 问题描述
    • 解决方法

本文基本将QWT配置过程中可能出现的各种问题逐一罗列,希望对大家有帮助!

QWT介绍

QWT,即Qt Widgets for Technical Applications,是一个基于LGPL版权协议的开源项目, 可生成各种统计图,是为具有技术专业背景的程序提供GUI组件和一组实用类,其目标是以基于2D方式的窗体部件来显示数据, 数据源以数值,数组或一组浮点数等方式提供, 输出方式可以是Curves(曲线),Slider(滚动条),Dials(圆盘),Compasses(仪表盘)等等。QWT工具库是基于Qt开发的,继承了Qt的跨平台特性。

QT5.15.2+QWT6.2.0 配置 综述_第1张图片

Qwt 用户手册

下载:Qwt 下载地址

Qwt 下载地址

查看:Qwt 用户手册

QWT 下载文件介绍

  • designer文件夹: qwt插件的源码,用于生成Qt Designer插件,插件可以在Qt Designer中直接拖拽使用
  • doc文件夹:帮助文档
  • examples文件夹: qwt的示例(源码、可执行程序), 这些工程的生成需要src或designer目录下工程生成的qwt.lib/qwt.dll
  • src文件夹: qwt的源码
  • textengines目录:存放数学指标语言的文本驱动引擎代码
  • playground目录:QWT开发中探索、测试新特性的模块

编译过程

编译环境

直接官网安装QT QT Creator 8.0.2 + Qt 5.15.2 + MSVC2015-64bit
官网下载QWT QWT 6.1.4 或更高

1.解压QWT

用Qt Creator打开qwt.pro文件,即打开了Qwt工程。

2.关于编译前准备

本人尝试 6.2.0版本不需要,其他低版本如果编译有问题可以尝试

  • 1、编译器一定要选择Release版本

QT5.15.2+QWT6.2.0 配置 综述_第2张图片

  • 2、打开编译开关,在qwt->other files->qwt.prf中,去掉QMAKE_RPATHDIR的注释

QT5.15.2+QWT6.2.0 配置 综述_第3张图片

  • 3、注释掉qwtbuild.pri里的CONFIG += debug_and_release

QT5.15.2+QWT6.2.0 配置 综述_第4张图片

  • 4、先点击构建菜单中qmake,再点击构建,开始编译

  • 5、编译结束

3.编译报错(关于Jom 报错)

报错截图:
QT5.15.2+QWT6.2.0 配置 综述_第5张图片

解决步骤:

工具->选项->构建与运行

把使用jom代替nmake的勾选取消即可运行。(后面把勾选打回去也还是可以运行,但是新开项目就得重新取消了)

QT5.15.2+QWT6.2.0 配置 综述_第6张图片

4.编译报错(关于QPainterPath)

在qwt 6.2.0版本中不需要,之前版本如果有这个问题可以做如下尝试:

在QT 5.15.0中,一些目录被更改,如果你想用qt 5.15.0构建qwt,你需要修改qwt源代码,我在qwt_global.h文件中添加了这段代码,它在mvcs2019和qwt 6.1.4中工作。

#if defined(_WIN32)
#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
#include 
#endif
#endif

QWT安装

1.安装Designer中显示的控件

官网编译的Windows下的Creator软件是使用MSVC编译器编译的,因此用MinGW编译的qwt插件是无法被Creator正确识别的。解决方法是你可以选择重新编译Creator或者qwt,使得它们基于同一种编译平台.我的是基于MSVC2019 64bit的,所有编译qwt选择同样环境。

特别注意1:查看Qt Creator 编译版本:

QT5.15.2+QWT6.2.0 配置 综述_第7张图片

特别注意2:拷贝路径不一样:

正常情况

  • 编译目录:build-qwt-Desktop_Qt_5_X_X_MSVC20XX_XX_bit-Debug\designer\plugins\designer

  • Qt Designer 目录:D:\Qt\Tools\QtCreator\bin\plugins\designer

选择正确的QtCreator版本后,我们需要将编译目录下的文件qwt_designer_plugin.dll复制到Qt Designer 目录

QT5.15.2+QWT6.2.0 配置 综述_第8张图片

  • 重新打开QtCreator在设计界面下

QT5.15.2+QWT6.2.0 配置 综述_第9张图片
版本较高情况
QT Creator 8.0
不同版本的QT下有不同版本的编译器,都对应不同的 Designer ,所以拷贝路径要直接复制到对应QT版本里的Designer,参考路径如下:

  • Qt Designer 目录:D:\Qt\5.15.2\msvc2019_64\plugins\designer
    QT5.15.2+QWT6.2.0 配置 综述_第10张图片
    安装好后,至少打开QtCreator可以看到设计界面的QWT控件

2.qwt的动态库配置

  • 此时还不能编译,是因为qwt的动态库还没有配置好。

  • 编译目录:build-qwt-Desktop_Qt_5_X_X_MSVC20XX_XX_bit-Debug\lib

  • Qt Designer bin 目录:D:\Qt\5.15.2\msvc20XX_XX\bin

  • Qt Designer lib 目录:D:\Qt\5.15.2\msvc20XX_XX\lib

  • Qt Designer include 目录:D:\Qt\5.15.2\msvc20XX_XX\include\Qwt (ps:include目录下需要自己创建Qwt文件夹)

1.将编译目录下的qwt.dll和qwtd.dll复制到Qt Designer bin 目录

注:目录下产生qwt.dll, qwt.lib, qwtd.dll, qwtd.lib前两者对应release版本,后者对应debug版本。
如果是mingw编译的则qwt.lib qwtd.lib 后缀名是libqwt.a libqwtd.a

2.将编译目录下的qwt.lib和qwtd.lib复制到Qt Designer lib 目录

3.将qwt源文件src目录中所有头文件复制到Qt Designer include 目录

3…pro函数中添加以下声明

DEFINES += QT_DLL QWT_DLL
LIBS += -L"C:\Qt\5.XX.X\msvc2015_64\lib" -lqwtd
LIBS += -L"C:\Qt\5.XX.X\msvc2015_64\lib" -lqwt
INCLUDEPATH += C:\Qt\Qt5.12.11\5.12.11\msvc2015_64\include\Qwt
CONFIG += qwt
CONFIG(debug, debug|release) {
DEFINES += QT_DLL QWTD_DLL
LIBS += -L"D:\QT\5.9.2\msvc2015_64\lib" -lqwtd     #Debug库
} else {
DEFINES += QT_DLL QWT_DLL
LIBS += -L"D:\QT\5.9.2\msvc2015_64\lib" -lqwt      #release库
}
INCLUDEPATH += D:\QT\Qt5.9.2\5.9.2\msvc2017_64\include\qwt

其他:修改默认构建目录

问题描述

在QtCreator中新建项目时会提示你创建构建目录,分别是Debug和Release。
默认情况下创建规则:…/build-%{CurrentProject:Name}-%{CurrentKit:FileSystemName}-%{CurrentBuild:Name}
其中:
–…:上级目录,即工程文件夹同级的目录;
–build:固定字符;
–%{CurrentProject:Name}:工程名;
–%{CurrentKit:FileSystemName}:当前构建套件名,取决于你Qt版本。如:Qt5.3.2 mingw版本生成;Desktop_Qt_5_3_2_MinGW;
–%{CurrentBuild:Name}:构建目标,Debug和Release
使用默认构建目录的结果就是,比如创建一个名为TestBuild的工程放到D:\QtTest目录,默认会创建如下目录结构:

解决方法

1.将工具–>选项–>构建和运行中Default build directory修改为./%{CurrentBuild:Name}(改为你想要的目标目录都行);
2.把QtCreator关闭,把工程目录下后缀名为.pro.user的文件删掉;
3.用QtCreator打开工程,会提示你创建构建目录,此时提示的就是你修改后的Default build directory中填写的目录;
其中.pro.user文件记录了编译器、构建工具链、构建目录、版本……等工程编译相关信息,想要更换项目的编译环境,得删除这个文件,由QtCreator自动重新创建。

你可能感兴趣的:(qt,开发语言)