嵌入式linux程序移植qt,嵌入式linux应用开发之QT移植(二)

Qt移植学习之路

QT4.5.3至mini2440)

1、准备源码包

(1)从ftp://ftp.qt.nokia.com/qt/source/

网站下载:qt-embedded-linux-opensource-src-4.5.3.tar.gz

和 qt-x11-opensource-src-4.5.3.tar.gz

前者是移植到开发板上运行的;

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

(2)从http://ishare.iask.sina.com.cn/f/21567219.html网上下载tslib-1.4.tar.gz包,这包用于管理触摸屏,例如可用于它来校正触摸屏,并保存校正数据。

2、编译安装tslib-1.4# tar zxvf tslib-1.4.tar.gz#cd tslib

#./autogen.sh#./configure--prefix=/home/mytslib/--host=arm-linuxac_cv_func_malloc_0_nonnull=yes

#make

#make install3、编译安装QT-X11-4.5.3

#tar xvzf qt-x11-opensource-src-4.5.3.tar.gz#cd

qt-x11-opensource-src-4.5.3

#./configure

这时候会出现问题:

Which edition of Qt do you want to use ?

Type 'c' if you want to use the Commercial Edition.

Type 'o' if you want to use the Open Source Edition.

选o

Do you accept the terms of either license?

选yes

接着会出现问题提示:

Basic XLib functionality test failed!

You might need to modify the include and library search paths by

editing

QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in

/home/hxy/share/qt/qt-x11-opensource-src-4.5.3/mkspecs/linux-g++.

解决方法是:

#yum install libXau-devel

#yum install libX11-devel

#yum install libXext-devel

重新进行./configure即可继续进行下面步骤:

#gmake

#gmake install

设置环境变量:

#vim qt_x11_setenv.sh

输入:

#!bin/bash

PATH=/usr/local/Trolltech/Qt-4.5.3/bin:$PATH

QTDIR=/usr/local/Trolltech/Qt-4.5.3

MAINPATH=$QTDIR/man:$MAINPATH

LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

export PATH QTDIR MAINPATH LD_LIBRARY_PATH

echo " set

qt-x11 env.

successful "

保存并退出。

# source qt_x11_setenv.sh

# echo $QTDIR

#cd /usr/local/Trolltech/Qt-4.5.3/examples/widgets/analogclock

# qmake -project

# qmake

#make clean

#make

#./analogclock -qvfb

(这-qvfb到底是做什么用的,去掉效果貌似一样,费解。)注意:每次进入qt-x11-linux-opensource-src-4.5.3目录中要

#source qt_x11_setenv.sh

把环境变量设置好,否则又会出现无法编译。

4、编译安装QT4.5.3#cd

/

#mkdir mini2440

#mkdir tslib#cd

/home/hxy/share/qt/

#tar xvzf qt-embedded-linux-opensource-src-4.5.3.tar.gz

#cd qt-embedded-linux-opensource-src-4.5.3

#./configure -prefix /mini2440 -release -shared

-fast -pch -no-qt3support -qt-sql-sqlite -no-libtiff -no-libmng

-qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -no-openssl -nomake

examples -nomake demos -nomake tools -optimized-qmake -no-phonon

-no-nis -no-opengl -no-cups -no-xcursor -no-xfixes -no-xrandr

-no-xrender -no-xkb -no-sm -no-xinerama -no-xshape

-no-separate-debug-info -xplatform qws/linux-arm-g++ -embedded arm

-depths 16 -no-qvfb -qt-gfx-linuxfb -no-gfx-qvfb -no-kbd-qvfb

-no-mouse-qvfb -qt-kbd-usb -confirm-license -qt-mouse-tslib

-I/home/mytslib/include -L/home/mytslib/lib

#gmake

#gmake install设置环境变量:#gedit setenv-embedded.sh

输入:

PATH=/mini2440/bin:$PATH QTDIR=/mini2440 MAINPATH=$QTDIR/man:$MAINPATH LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH export PATH QTDIR MAINPATH LD_LIBRARY_PATH

保存退出。

注意:每次进行qt4-embedded的交叉编译前先# source

setenv-embedded.sh

5、移植相关库文件至开发板

在开发板的终端下执行:

#cd /

#mkdir mini2440

#mkdir tslib

复制编译生成的一些库文件及配置文件至开发板上的mini2440、tslib:

#cp –rf /home/mytslib/lib /tslib

#cp –rf /home/mytslib/etc /tslib

#cp –rf /mini2440/lib /mini2440

#cp /home/mytslib/bin/ts_calibrate /bin

#cp /home/mytslib/bin/ts_test /bin

编辑开发板/etc/profile,开发板终端输入:

#cat>>/etc/profile/<

exportQTDIR=/mini2440

exportT_ROOT=/tslib

exportPATH=$QTDIR/bin:$PATH

exportTSLIB_CONSOLEDEVICE=none

exportTSLIB_FBDEVICE=/dev/fb0

exportTSLIB_TSDEVICE=/dev/event0

exportTSLIB_PLUGINDIR=$T_ROOT/lib/ts

exportTSLIB_CONFFILE=$T_ROOT/etc/ts.conf

exportTSLIB_CALIBFILE=/etc/pointercal

exportQWS_MOUSE_PROTO=tslib:/dev/event0

exportLD_LIBRARY_PATH=$T_ROOT/lib:$QTDIR/lib

EOF

#source

/etc/profile

#echo $QTDIR

(回显为“/mini2440”则说明环境变量设置OK)

设置触摸屏的配置文件:

#vi

/tslib/etc/ts.conf

把# module_raw

input前面的“#”号去掉,然后把该行移至行首

使得ts.conf如下:

module_raw input

module pthres pmin=1

module variance delta=30

module dejitter delta=100

module linear

保存退出。

#source

/etc/profile

6、测试

测试触摸屏校正,开发板终端下执行:

#ts_calibrate (触摸较正程序)

#ts_test (触摸屏拖曳测试程序)

运行QT应用程序,主机终端下执行:

#cd

/home/hxy/share/qt/qt-embedded-linux-opensource-src-4.5.3/

#echo

$QTDIR (回显为“/mini2440”则说明环境变量设置OK,否则source

setenv-embedded.sh)

#cd

/home/hxy/share/qt/qt-embedded-linux-opensource-src-4.5.3/examples/mainwindows/application/

#qmake –project

#qmake (生成Makefile)

#make

由此即可生成“application”可执行程序,把它下载到开发板上并执行:#./application –qws

你可能感兴趣的:(嵌入式linux程序移植qt)