mini2440上移植QT

发布者:a407895356最新更新时间:2020-06-30 来源: eefocus关键字: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

#include

#include


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程序了。

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

未完待续


关键字:mini2440  移植  QT 引用地址:mini2440上移植QT

上一篇:ARM集成开发环境eclipse的安装(for Linux)
下一篇:ADS1.2使用jlink调试程序(调试芯片s3c2440 arm9)

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved