1.
下载源码包:
a.
Qt 4.5.2 for Open Source C++ development on Linux/X11 [120Mb]
http://get.qtsoftware.com/qt/source/qt-x11-opensource-src-4.5.2.tar.gz
此源码包是用于在Linux系统下开发Qt程序用的,开发出的程序只能在PC机上运行。里面包含了designer,qvfb等工具。
b.
Qt 4.5.2 for Open Source C++ development on Embedded Linux [124Mb]
http://get.qtsoftware.com/qt/source/qt-embedded-linux-opensource-src-4.5.2.tar.gz
此源码包是用来进行嵌入式LinuxQt应用程序开发的,开发出来的程序最终目的是要在开发板上运行,但也可以利用qvfb这个工具在PC机上模拟运行。因此稍后会将此压缩文件解压成两个文件夹,分别作为开发板Qt环境以及PC机上QT的模拟环境。
2.
配置ubuntu 10.10编译环境
a.
安装g++: sudo
apt-get g++
b.
安装编译X11用到的库:sudo
apt-get libx11-dev libxext-dev
c.
安装libxtst-dev: sudo
aptitude install libxtst-dev 否则编译qvfb出错。
d.
安装交叉编译器arm-liunx-gcc,并设置环境变量:下载就不说了,网上找。安装在/usr/local/arm/
目录下面。之后在.bashrc的最后一行加上export
PATH=/usr/local
/arm/4.3.2/bin:$PATH,此路径作为环境变量。
3.
编译及安装qt-x11-opensource-src-4.5.2
a.
在你的下载目录中解压qt-x11-opensource-src-4.5.2.tar.bz2
zhangyue8624@ubuntu:~/下载$
tar xjvf qt-x11-opensource-src-4.5.2.tar.bz2
b.
进入解压后的目录
zhangyue8624@ubuntu:~/下载$
cd qt-x11-opensource-src-4.5.2
c.
进行配置
zhangyue8624@ubuntu:~/下载/qt-x11-opensource-src-4.5.2$
./configure
d.
进行编译
zhangyue8624@ubuntu:~/下载/qt-x11-opensource-src-4.5.2$
make
e.
进行安装
zhangyue8624@ubuntu:~/下载/qt-x11-opensource-src-4.5.2$
make install
历经漫长的编译过程,默认安装在/usr/local/Trolltech/Qt-4.5.2下,编译完成后源程序不要删除,还有用。
4.
编译配置QtEmbedded-4.5.2-x86版本
之所以要编译x86版本的Qt,是要在PC机下模拟运行为开发板开发出来的程序
a. 解压
zhangyue8624@ubuntu:~/下载$
tar xjvf qt-embedded-linux-opensource-src-4.5.2.tar.bz2
zhangyue8624@ubuntu:~/下载$
mv qt-embedded-linux-opensource-src-4.5.2 qt
embedded-linux-opensource-src-4.5.2-x86
zhangyue8624@ubuntu:~/下载$
cd qt-embedded-linux-opensource-src-4.5.2-x86
b.
配置编译:
zhangyue8624@ubuntu:~/下载/qt-embedded-linux-opensource-src-4.5.2-x86$
./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.2-x86
-embedded x86 -qvfb
zhangyue8624@ubuntu:~/下载/qt-embedded-linux-opensource-src-4.5.2-x86$
make
c.
安装到/usr/local/Trolltech/QtEmbedded-4.5.2-x86目录下:
zhangyue8624@ubuntu:~/下载/qt-embedded-linux-opensource-src-4.5.2-x86$
make install
d.
建立脚本文件:setenv_x86.sh,输入以下内容:
export
QTEDIR=/usr/local/Trolltech/QtEmbedded-4.5.2-x86/
export
PATH=/usr/local/Trolltech/QtEmbedded-4.5.2-x86/bin/:$PATH
export
LD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.5.2-x86/lib/:$LD_LIBRARY_PATH
e.
编译x86版QT应用程序前,先执行此脚本文件:
zhangyue8624@ubuntu:/usr/local/Trolltech/QtEmbedded-4.5.2-x86$
source setenv_x86.sh
5.
编译qvfb
zhangyue8624@ubuntu:~/下载$
cd /qt-x11-opensource-src-4.5.2/tools/qvfb/
zhangyue8624@ubuntu:~/下载/qt-x11-opensource-src-4.5.2/tools/qvfb$
make
把/qt-x11-opensource-src-4.5.2/bin/目录下生成的qvfb复制qvfb到x86目录下:
zhangyue8624@ubuntu:~/下载$
cp /qt-x11-opensource-src-4.5.2/bin/qvfb
/usr/local/Trolltech/QtEmbedd-4.5.2-x86/bin
6.
测试
zhangyue8624@ubuntu:~/下载$
cd /usr/local/Trolltech/QtEmbedded-4.5.2-x86/demos/boo
ks
qvfb
-width 640 -height -480 & ./books -qws
在开发扳上移植QT4.5.2(带触屏支持)
一.编译安装tslib1.4
A、安装编译过程需用到的程序
root@hrixin-desktop:/home/hrixin#
apt-get install autoconf
root@hrixin-desktop:/home/hrixin#
apt-get install automake
root@hrixin-desktop:/home/hrixin#
apt-get install libtool
B、配置编译
root@hrixin-desktop:/work/qt#
tar xzvf tslib-1.4.tar.gz
root@hrixin-desktop:/work/qt#
cd tslib
root@hrixin-desktop:/work/qt/tslib#
./autogen.sh
root@hrixin-desktop:/work/qt/tslib#
echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
root@hrixin-desktop:/work/qt/tslib#
./configure --host=arm-linux --prefix=/usr/local/tslib/
--cache-file=arm-linux.cache --enable-inputai=no
ac_cv_func_malloc_0_nonnull=yes
root@hrixin-desktop:/work/qt/tslib#
make
C、安装
root@hrixin-desktop:/work/qt/tslib#make
install
在/usr/local/tslib/文件夹下有4个文件夹,这些就是我们需要的东西了。修改/usr/local/tslib//etc/ts.conf
在前面添加 module_raw
input,注意不要多空格
保存
注意:触摸屏的前提是你的触摸屏驱动已经写好,并加载进了内核.
你可以测试有没有加载触摸屏驱动,cat
/dev/input/event0(这只是我的试验箱上的触摸屏)
,点击触摸屏,看终端有无显示,若有则表明正确。
二.安装qt-sdk
在PC的linux系统中开发qt程序,完全可以下载完整的SDK,包含QT库,Qt
Creator和qt的其他开发工具。下载后直接安装即可。
三.编译安装QtEmbedded-4.5.2-arm版本
A、解压
root@hrixin-desktop:/work/qte#
tar xjvf qt-embedded-linux-opensource-src-4.5.2.tar.bz2
root@hrixin-desktop:/work/qte#
mv qt-embedded-linux-opensource-src-4.5.2
qt-embedded-linux-opensource-src-4.5.2-arm
root@hrixin-desktop:/work/qte#
cd qt-embedded-linux-opensource-src-4.5.2-arm
B、配置编译:(注意:遇到回车敲回车不要一下子全部粘贴完)
./configure
-prefix /usr/local/Trolltech/QtEmbedded-4.5.2-arm -embedded arm \
-release
-shared -fast -no-largefile -qt-sql-sqlite -no-qt3support
-no-xmlpatterns -no-mmx -no-3dnow -no-sse -no-sse2 -no-svg -no-webkit
-qt-zlib -qt-gif \
-qt-libtiff
-qt-libpng -qt-libmng -qt-libjpeg -make libs -nomake tools -nomake
examples -nomake docs -nomake demo -no-nis -no-cups -no-iconv
-no-dbus \
-no-openssl
-xplatform qws/linux-arm-g++ -little-endian -qt-freetype -depths
16,18 -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-multiscreen \
-no-gfx-vnc
-no-gfx-qvfb -qt-kbd-usb -no-glib -qt-mouse-tslib
-I/usr/local/tslib/include -L/usr/local/tslib/lib
###
注意这个目录要跟你的tslib安装目录相同!!!
root@hrixin-desktop:/work/qte/qt-embedded-linux-opensource-src-4.5.2-arm#
make
C、安装到/usr/local/Trolltech/QtEmbedded-4.5.2-arm目录下:
root@hrixin-desktop:/work/qte/qt-embedded-linux-opensource-src-4.5.2-arm#
make install
四.移植到开发板
1.拷贝相关文件到ARM根文件系统(只要环境变量(路径)配置正确,放在哪个目录都行)
拷贝/usr/local/…/tslib整个目录到arm板根文件系统root_nfs/下;
拷贝/usr/local/…/lib/下所有库文件到root_nfs/opt/qt/lib目录下,你可能不需要全部的库文件,(可能最重要的库就是libQtGui.so,libQtCore.so,libQtNetwork.so
字体文件夹以及指向他们的快捷方式,cp
-dpR)可根据需要选择;
2.设置环境变量和配置文件
首先设置tslib的配置文件
gedit
root_nfs/tslib/build/etc/ts.conf
1
|
module_raw
input
|
|
2
|
module
pthres pmin=1
|
3
|
module
variance delta=30
|
|
4
|
module
dejitter delta=100
|
然后设置qt及tslib的环境变量:
gedit
root_nfs/etc/profile
在最后加入:(重启开发板,移植完成!注意,在开发板上运行qt程序要加-qws
选项,从而让程序以Server模式运行。)
01
|
export
QTDIR=/opt/qt
|
|
02
|
export
T_ROOT=/tslib/build
|
03
|
export
PATH=$T_ROOT/bin:$PATH
|
|
04
|
export
LD_LIBRARY_PATH=$T_ROOT/lib:$QTDIR/lib
|
05
|
export
TSLIB_CONSOLEDEVICE=none
|
06
|
export
TSLIB_FBDEVICE=/dev/fb0
|
|
07
|
export
TSLIB_TSDEVICE=/dev/input/event0
|
08
|
export
TSLIB_PLUGINDIR=$T_ROOT/lib/ts
|
|
09
|
export
TSLIB_CONFFILE=$T_ROOT/etc/ts.conf
|
10
|
export
TSLIB_CALIBFILE=/etc/pointercal
|
|
11
|
export
QWS_KEYBOARD=USB:/dev/input/event1
|
|
12
|
export
QWS_MOUSE_PROTO=Tslib:/dev/input/event0
|
13
|
export
QWS_DISPLAY=LinuxFb:mmWidth45:mmHeight60:0
|
14
|
export
QWS_SIZE=240x320
|
|
15
|
Export
字体配置参数
|
|
|
|
|
###启动程序后发现触摸屏不准,这是需要执行tslib/bin目录下的校准程序校准触屏,默认是在/etc目录下生成一个校准数据文件。 |