QT 5.9.1 Linux下安装桌面版Qwt库和安装交叉编译ARM版Qwt

QT 5 Linux下安装桌面版Qwt库和安装交叉编译ARM版Qwt

写在前面

在安装Qwt前一定确保Qt已经安装和配置完成(如果带有交叉编译版本,也一定确认好可以顺利编译和在板上运行)

开始安装

下载源码

直接下载Qwt源码,我下载的是6.1.2版本
官方地址:
https://sourceforge.net/projects/qwt/

注意:如果用QtCreator5.5.0版本以上的,如果不是用最新版本的Qwt那么在编辑窗口模式下看不到Qwt的控件
但是如果你的qt安装的就是5.5以上的(我的就是qt5.9.5),也不要着急,我们还是有办法在qtdesigner中正常显示的。
可以先去看我的这篇文章了解一下:https://blog.csdn.net/whstudio123/article/details/104590241

下载完成后解压,我解压到桌面上了。

PC版安装

1.使用gedit打开qwtconfig.pri文件,我们来看看这些重点设置项,需要改什么:
(笔者个人建议:与你的ARM运行环境设置成一致,这样代码移植性会好一些)

1.qwt的安装目录

unix {
    QWT_INSTALL_PREFIX    = /usr/local/qwt-$$QWT_VERSION
    # QWT_INSTALL_PREFIX = /usr/local/qwt-$$QWT_VERSION-qt-$$QT_VERSION
}

默认就是这个,pc版我就保持默认了,但稍后装ARM版注意,ARM版的一定要改目录,否则两个库就混一块去了

2.根据PC与ARM一致原则设置一些config,在前面加#代表关闭,只想在PC上装的根据自己需要设置。

关闭shared lib
#QWT_CONFIG += QwtDll

关闭opengl
#QWT_CONFIG += QwtOpenGL

打开qtDesigner
QWT_CONFIG += QwtDesigner

examples无所谓,我给关了
#QWT_CONFIG += QwtExamples

playground也无所谓,我给关了
#QWT_CONFIG += QwtPlayground

3.执行qmake以生成Makefile

进入终端(不需要root),切换到当前的目录,使用PC端qt的qmake生成makefile

cd /home/pibot/Desktop/qwt/qwt-6.1.2

/opt/Qt5.9.5/5.9.5/gcc_64/bin/qmake

4.执行make,sudo make install

make
sudo make install

会编译安装一段时间,稍候。编译的时候可能会报一些warning,只要编译不停,可以忽略掉。
编译安装后,去/usr/local/看下相关的文件是不是都到位了。我的长这样
在这里插入图片描述

5.加入到qtcreator中

plugins/designer目录下有个.so文件,我们把它复制到qt的指定目录中,这样才能在qt中以拖拽的形式布置控件。

在这里插入图片描述
我的复制到
/opt/Qt5.9.5/Tools/QtCreator/bin/plugins/designer
/opt/Qt5.9.5/5.9.5/gcc_64/plugins/designer
这两个目录中,如果发现没有第一个目录就新建出来。

到这里PC端的安装就基本结束了。但有几点要注意
1.在需要使用qt时候一定要先导出这一条:

export LD_LIBRARY_PATH=/usr/local/qwt-6.1.2/lib:$LD_LIBRARY_PATH

可以在qtcreator.sh中修改,然后通过脚本启动qt,我的长这样
在这里插入图片描述

2.用qwt的时候要在项目的pro里面加上这个:

QT += svg
#svg是qwtplot中部分控件会用到的,建议加上
INCLUDEPATH += /usr/local/qwt-6.1.2/include
LIBS += -L/usr/local/qwt-6.1.2/lib -lqwt

请根据实际情况修改。

ARM版安装

只要PC安装成功,ARM版就照葫芦画瓢,基本就没问题。

原来的解压到桌面的文件夹删掉吧,我们再解压一份到桌面

1.使用gedit打开qwtconfig.pri文件,我们来看看这些重点设置项,需要改什么:

1.qwt的安装目录

unix {
    QWT_INSTALL_PREFIX    = /usr/local/qwt-6.1.2-ARM
    # QWT_INSTALL_PREFIX = /usr/local/qwt-$$QWT_VERSION-qt-$$QT_VERSION
}

这里我修改为/usr/local/qwt-6.1.2-ARM ,名称不一定是这个但一定要修改,要不然就装一起去了!

2.根据PC与ARM一致原则设置一些config,在前面加#代表关闭,只想在PC上装的根据自己需要设置。
注意!!ARM端的qtDesigner 选项一定关闭!其它选项按需选择,我这样做的

关闭shared lib
#QWT_CONFIG += QwtDll

关闭opengl
#QWT_CONFIG += QwtOpenGL

关闭qtDesigner
#QWT_CONFIG += QwtDesigner

examples无所谓,我给关了
#QWT_CONFIG += QwtExamples

playground也无所谓,我给关了
#QWT_CONFIG += QwtPlayground

3.执行qmake以生成Makefile

进入终端(不需要root),切换到当前的目录,使用交叉编译工具链里的qmake生成makefile

cd /home/pibot/Desktop/qwt/qwt-6.1.2

/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/qt5/qmake

4.执行make,sudo make install
(这里可能还要告诉终端交叉编译工具链的位置,这个我不清楚,但我习惯做交叉的工作前source:
source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi )

make
sudo make install

会编译安装一段时间,稍候。编译的时候可能会报一些warning,只要编译不停,可以忽略掉。
编译安装后,去/usr/local/看下相关的文件是不是都到位了。我的长这样
在这里插入图片描述

5.到这里ARM端的安装也基本结束了。但有几点要注意
1.在需要使用qt时候也一定要先导出这一条:

export LD_LIBRARY_PATH=/usr/local/qwt-6.1.2-ARM/lib:$LD_LIBRARY_PATH

可以在qtcreator.sh中修改,然后通过脚本启动qt,我的长这样
在这里插入图片描述

2.用qwt的时候要在项目的pro里面加上这个:

QT += svg
#svg是qwtplot中部分控件会用到的,建议加上
INCLUDEPATH += /usr/local/qwt-6.1.2-ARM/include
LIBS += -L/usr/local/qwt-6.1.2-ARM/lib -lqwt

请根据实际情况修改。

部分问题及解决

1.qtcreator中看不到qwt控件:
https://blog.csdn.net/whstudio123/article/details/104590241

2.qtcreator 显示与svg有关的错误:
.pro文件里加入

QT += svg

3.qtcreator 显示与opengl的错误:
在mainwindow.h 、main.cpp和mainwindow.cpp加上这个宏就好了

#define QT_NO_OPENGL_ES_3

运行结果

在这里插入图片描述

发布了35 篇原创文章 · 获赞 86 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/whstudio123/article/details/104590751