下载qwt最新版本,用git工具 git clone下载源码
git clone https://git.code.sf.net/p/qwt/git qwt-git
或者使用我下载的 qwt 2.6.0
链接:https://pan.baidu.com/s/1KZI-L10N90TJobeqqPYBqw?pwd=pq1o
提取码:pq1o
下载安装Qt 5.15.2
链接:https://pan.baidu.com/s/1mpcVYjzjL0udYAh0TGjtrA?pwd=2sz5
提取码:2sz5
用Qt 5.15.2 自带的Qt Creator 5.0.2打开qwt.pro文件
编译前的参数修改(网上一找一大把)
打开QMAKE_RPATHDIR *=$${QWT_INSTALL_LIBS}
注释掉src/qwtbuild下的qwtbuild.pri里的CONFIG += debug_and_release
因为你的工程要链接的第三方库肯定是release版本的库了
classinclude下的qwtbuil下的qwtbuild.pri里的 CONFIG += debug_and_release也是要注释掉#
编译MSVC会编译不通过的原因,本质原因应该不是修改一个安装目录就可以了(以后来研究),把qwtconfig.pri下的QWT_INSTALL_PREFIX路径修改成自己Qt安装使用的编译器下的路径里的include里新建自己的qwt头文件目录(qwtbuld.pri和qwtconfig.pro虽然有多个,其实点进去就知道都是同一个,修改一处就都修改了)
编译的顺序是先【执行qmake】,然后开始【构建】
需要选择release版本,在构建里选择Release
qmake完成,及构建完成后,会在构建目录下生成编译文件xx.dll和xx.a文件
将qwt.dll和qwtd.dll放到本地的Qt 5.12.12安装目录的库目录中,这样基于Qt 5.12.12的自己的应用就可以使用qwt开发了,因为安装了qwt库
qwt的编译里还生成了designer.dll,如果将该designer.dll放到本地Qt 5.12.12的安装目录的designer插件中,那么在Qt开发中的designer里可以直接拖动使用qwt控件,那也是非常方便的。
放到本地Qt的designer插件目录中
用Qt Creator新建自己的应用程序,用Qt Designer打开mainwindow.ui
在Qt设计师中左侧控件拉到最下面看到qwt控件,此处你可以兴奋一分钟,将qwt控件拖动到右边,然后保存,然后qmake你的工程,构建并运行,就把qwt安装并运行到了你的个人Qt工程中了
说实话在MingW下载编译qwt是比较智障无难度的,因为Qt的安装过程中会把MingW编译器一起安装了,所以在Qt构建工具中MingW编译器的选择也十分简单,一般不会出错,但是MSVC编译器是随着Visual Studio (VS2022 VS2017)安装的,所以Qt的构建工具中经常是默认的MSVC版本的项目构建是黄色感叹号,没法直接使用其新建Qt MSVC工程,所以如果你的Qt工具里Qt MSVC构建都还没有配置好,然后你用Qt Creator打开qwt.pro去编译MSVC版本的库,会遇到编译问题,所以先解决Qt构建问题。
把designer下的qwt的designer插件也放到本地qt的designer设计师插件目录下
5. 新建Qt MSVC工程
# .pro里添加 qwt的配置
CONFIG += qwt
DEFINES += QT_DLL QWT_DLL
LIBS += -L"C:\Qt\Qt5.12.12\5.12.12\msvc2017_64\lib" -lqwtd
LIBS += -L"C:\Qt\Qt5.12.12\5.12.12\msvc2017_64\lib" -lqwt
INCLUDEPATH += D:\develop\qwt\qwt-git\src
6. 其实到这里很多时候已经完成了,但是这里很倔强,跟我开了个玩笑
: static_assert failed "Error in C++ Standard Library usage."
但是程序员天生就是对Bug兴奋,那就老套路了,挨字分析error总能找出问题所在
就是VS的编译器版本的问题,始终如一地选择自己本地自己确认的编译器版本,就不会有问题了