ARM40之Qwt移植

15 篇文章 0 订阅
10 篇文章 1 订阅

####准备

  • 主机平台:Ubuntu 16.04 LTS(x64)
  • 目标平台:ARM40-A5D3
  • Qt版本:Qt4.7.8
  • IDE版本:Qt Creator 2.8.1(64bit)
  • Qwt版本:Qwt6.1.3
  • GCC版本:GCC 7.3.0
  • ARM-GCC编译工具链:gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabi

####1、下载Qwt6.1.3源代码
在sourceforge.net上下载qwt-6.1.3源代码qwt-6.1.3.tar.bz2
qwt-6.1.3.qch是帮助文件;qwt-6.1.3.pdf是API库说明。
qwt-dl.png

####2、 编译ARM版本Qwt
默认ARM40-A5D3版本的Qt4.8.7的编译环境已经搭建完毕,在这里不再介绍。

  • 解压源代码
    使用QtCreator打开Qwt工程。打开qwtconfig.pri,注释掉下面这两行
#QWT_CONFIG     += QwtOpenGL  
#QWT_CONFIG     += QwtDesigner   

arm-qwt-bulid.png

  • 编译qwt
    点击右下角的“锤子”图标,开始编译qwt。
    arm-qwtlib.png

  • 安装qwt
    (1)将生成的libqwt.so.6.1.3,创建libqwt.so.6.1,libqwt.so.6,libqwt.so这3个软链接。将这四个文件复制到Qt4的lib目录下,本教程Ubuntu上的ARM Qt4库文件目录在/opt/qte4.8.7/lib下。
    (2)将Ubuntu的/opt/qte4.8.7/lib/目录打包,并将其解压到ARM40-A5D3的/opt目录下。

$ cd qwt-6.1.3/build-qwt-arm40_qt4-Release/lib/
$ ln -s libqwt.so.6.1.3 libqwt.so
$ ln -s libqwt.so.6.1.3 libqwt.so.6
$ ln -s libqwt.so.6.1.3 libqwt.so.6.1
$ ls
>>>>
libqwt.so  libqwt.so.6  libqwt.so.6.1  libqwt.so.6.1.3
<<<<
$ sudo cp -rf ./* /opt/qte4.8.7/lib/
$ tar cvf qte4.8.7.tar /opt/qte4.8.7/lib/

arm-qwtso.png
qte4lib.png

root@ARM40:# tar xvf qte4.8.7.tar -C /opt/qte4.8.7/lib/
root@ARM40:# cd qwt-6.1.3/build-qwt-arm40_qt4-Release/lib/
root@ARM40:# ln -s libqwt.so.6.1.3 libqwt.so
root@ARM40:# ln -s libqwt.so.6.1.3 libqwt.so.6
root@ARM40:# ln -s libqwt.so.6.1.3 libqwt.so.6.1
root@ARM40:# ls
>>>>
libqwt.so  libqwt.so.6  libqwt.so.6.1  libqwt.so.6.1.3
<<<<
root@ARM40:# sudo cp -rf ./* /opt/qte4.8.7/lib/

  • 复制qwt头文件
    在Ubuntu的/opt/qte4.8.7/include目录下创建Qwt目录,并将源代码qwt-6.1.3/src目录下的所有的“.h”文件复制到当前Qwt目录下。
$ cd ~
$ sudo mkdir -p /opt/qte4.8.7/include/Qwt
$ sudo cp  qwt-6.1.3/src/*.h /opt/qt4.8.7/include/Qwt

arm-qwt-inc.png

####3、hello world

(1)创建hello world工程,修改helloworld.pro文件,在末尾添加如下文本:

INCLUDEPATH += /opt/qte4.8.7/include/Qwt/
LIBS += -L"/opt/qte4.8.7/lib/" -lqwt

arm-qwt-demo.png
(2)双击“mainwindow.ui”,查看qwt designer已经生效了。将“时钟”控件放进UI,编译hello world。
arm-qwt-clk.png

(3)将生成的helloworld文件拷贝进ARM40-A5D3中。先配置Qt4环境变量,再运行hello world。

root@ARM40:# cd ~
root@ARM40:# sh lcdLightOn.sh
root@ARM40:# ./helloworld -qws

arm40-clk.png

至此,Qwt移植结束。

####附件

lcdLightOn.sh

>>>>
#!/bin/sh
#export LD_LIBRARY_PATH=/lib:$LD_LIBRARY_PATH
export QTDIR=/opt/qte4.8.7
export TS_ROOT=/opt/tslib
export PATH=$TS_ROOT/bin:$PATH
export LD_LIBRARY_PATH=/lib:$TS_ROOT/lib:$QTDIR/lib:$LD_LIBRARY_PATH
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=$TS_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TS_ROOT/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
#export QWS_DISPLAY="LinuxFb:mmWidth100:mmHeight130:0"
export QWS_DISPLAY="LinuxFb:/dev/fb0"
export QWS_SIZE="800X480"
export QWS_MOUSE_PROTO="Tslib:/dev/input/event0"
#export QWS_KEYBOARD="LinuxInput:/dev/input/event0"
export QWS_KEYBOARD="TTY:/dev/tty0"
export QT_QWS_FONTDIR=$QTDIR/lib/fonts
<<<<

####参考引用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值