mini2440上移植QT

QT下载:http://download.qt-project.org/
qt-everywhere-opensource-src-4.8.4.tar.gz:http://download.qt-project.org/archive/qt/
tslib下载:https://github.com/libts/tslib/releases

编译安装QT-X11-4.5.3

QT-X11-4.5.3是运行于linux平台下用于仿真QT应用程序的软件,这样你便可以在linux平台下把你应用程序都调试好,然后再利用QT4.5.3把应用程序编译成ARM版本下载至开发板,这样你就可以在开发板上运行你的QT应用程序了。
下面是安装步骤:

1、先安装以下包(否则会报错 Basic XLib functionality test failed!):

sudo apt-get install libx11-dev libxext-dev libxtst-dev

2、把qt-x11-opensource-src-4.5.3.tar.gz 拷贝到指定目录下,然后执行以下命令:

#tar zxvf qt-x11-opensource-src-4.5.3.tar.gz  
#cd qt-x11-opensource-src-4.5.3  
#./configure  
#make      //一般用时2-3小时,如果你的机子配置不太低的情况下  
#make install 

一、编译安装tslib-1.0

参考这篇文章:tslib移植实践

二、QT库移植

准备:qt-everywhere-opensource-src-4.8.4.tar.gz
1、解压并进入qt-everywhere-opensource-src-4.8.4。

#tar  xzf  qt-everywhere-opensource-src-4.8.4.tar.gz
#cd  qt-everywhere-opensource-src-4.8.4

2、修改 QT目录下的mkspecs/qws/linux-arm-g++/qmake.conf,添加如下内容(让交叉编译工具链能找到tslib的库和头文件):

# tslib 
QMAKE_INCDIR =/usr/tslib4arm/include
QMAKE_LIBDIR =/usr/tslib4arm/lib
QMAKE_LFLAGS =-WI,-rpath,/usr/tslib4arm/lib

3、配置、编译和安装Qt,可以编写以下脚本并运行。Qt安装成功可在/opt/framework/qt/arm路径下看到bin、lib、include等目录。

#!/bin/sh
#mkdir -vp /opt/framework/qt/arm
#echo yes | ./configure -prefix /opt/framework/qt/arm  \
#-opensource -enbedded arm  \
#-xplatform qws/linux-arm-g++ \
#-no-webkit -qt-libtiff -qt-libmng \
#-qt-mouse-tslib -qt-mouse-pc \
#-no-mouse-linuxtp -no-neon \
#-nomake examples  \
#-nomake docs \
#-nomake demos \
#-nomake tools 


echo yes | ./configure -prefix /opt/framework/qt/arm -opensource -embedded arm -xplatform qws/linux-arm-g++  -no-webkit  -qt-libtiff -qt-libmng  -qt-mouse-tslib -qt-mouse-pc -no-mouse-linuxtp -no-neon -nomake examples  -nomake docs -nomake demos -nomake tools

echo "config finished!"

make && make install

4、在开发板根文件系统opt下创建/opt/framework/qt/arm目录,将/opt/framework/qt/arm目录下的lib目录复制到开发板根文件系统的该目录下。

cd  /nf  s/rootf 
mkdir   -p   opt/framework/qt/arm
cp /opt/framework/qt/arm/lib  ./ -dr

5、编写以下脚本,命名为setenvqt,此脚本用来为开发板设置Qt运行环境。
注意“等号左右边不能有空格,否则Linux会提示错误 bad variable name”

#!/bin/sh
export  QWS_DISPLAY=:1
export  QT_QWS_FONTDIR=/opt/framework/qt/arm/lib/fonts
export  QWS_MOUSE_PROTO="Tslib MouseMan:/dev/event0"
export  QWS_KEYBOARD=TTY:/dev/tty1
export  HOME=/root

echo "qt init finished!"

将脚本移到开发板根文件系统usr/sbin目录下,在etc/profile中加入

. setenv4qt

这样开发板开机就能加载setenv4qt中的环境变量了。

根文件系统编译镜像指令:mkyaffs2image-128M rootfs rootfs_qt.img

三、嵌入式Qt程序测试

创建一个Helloworld测试程序。

#include <QApplication>
#include <QMainWindow>
#include <QPushButton>

int main(int argc, char* argv[])
{
  QApplication a(argc, argv);    // Qapplication表示一个应用程序,而它的成员函数exec()则用来执行程序以及消息处理
  QMainWindow w;                 //定义一个QmainWindow主窗口对象w

  QPushButton b(&w);             //通过&w,在主窗口上定义QpushButton按钮对象b
  b.setText("Yangfeiwu.Today is 20190927.");        //通过b对象的成员函数setText(),设置按钮名字为Hello QT

  w.show();                      //显示主窗口
  return a.exec();               //通过exec()执行程序以及消息处理
}

编译测试程序:

/opt/framework/qt/arm/bin/qmake  -project
/opt/framework/qt/arm/bin/qmake  -makefile
make

下载到开发板根目录,去开发板执行指令 /HelloQt -qws -fn SIMHEI。
如果报错libts-0.0找不到,则执行以下指令:

#find -name libts-0.0*
#ln -s /usr/tslib4arm/lib/libts-0.0.so.0  ./opt/framework/qt/arm/lib/libts-0.0.so.0

再次执行,就启动qt程序了。

在这里插入图片描述
在这里插入图片描述

未完待续

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yfw&武

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值