mini2440下移植qt4.4.2

<!-- @page { margin: 0.79in } P { margin-bottom: 0.08in } H3 { margin-bottom: 0.08in } H3.western { font-family: "Liberation Serif", "Times New Roman", serif } H3.cjk { font-family: "DejaVu LGC Sans" } H3.ctl { font-family: "DejaVu LGC Sans" } -->

1.安装arm-linux-gcc-3.4.1.tar.bz2

    在根目录下解压,解压后的默认目录在/usr/local/arm/3.4.1

    设置环境变量,运行命令:

    vi /etc/profile

    加入 export PATH=/usr/local/arm/3.4.1/bin:$PATH

2.编译tslib-1.4

     解压到/home

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

    #make

    #make install-strip //生成瘦身应用程序和库

3.编译qt-x11-opensource-src-4.4.2.tar.gz(用以生成qvfb)

tar zxf qt-x11-opensource-src-4.4.2.tar.gz
cd /home/linux/qt/qt-x11-opensource-src-4.4.2

./configure

make
make install

cd tools/qvfb

make 生成qvfb

4.编译qt-embedded-linux-opensource-src-4.4.2.tar.gz(arm)

tar zxf qt-embedded-linux-opensource-src-4.4.2.tar.gz
cd 
qt-embedded-linux-opensource-src-4.4.2

(我的QT的安装目录设置为根目录下的/usr/src/qt442arm)

./configure -prefix /usr/src/qt442arm -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/linux/mytslib/include -L /home/linux/mytslib/lib

上面的红色部分必须让找前面的tslib的目录设置,否则会出现“The tslib functionality test failed!”错误

make

make install

qt-embedded-arm 被安装在/usr/src/qt442arm.

建立arm环境变量文件
vi setarmrc
添加如下内容:
QTEDIR=/usr/src/qt442arm/
PATH=
/usr/src/qt442arm/bin/:$PATH
LD_LIBRARY_PATH=
/usr/src/qt442arm/lib/:$LD_LIBRARY_PATH
保存退出.移到/usr/src/qt442arm 中。

编译ARMQT应用程序前,先执行此脚本文件,如source serarmrc

cd example/qws/mousecalibtration

qmake &&make (生成mousecalibtration可执行文件,后面需要将其拷贝到根文件中)

//qmake in /usr/src/qt442arm/bin

3.编译qt-embedded-linux-opensource-src-4.4.2.tar.gz(x86)

tar qt-embedded-linux-opensource-src-4.4.2.tar.gz
重命名为
qt-embedded-linux-opensource-src-4.4.2x86

./configure -prefix /usr/src/qt442x86 -embedded x86 -qvfb -DQT_QLOCALE_USES_FCVT

说明:configure 时候加-DQT_QLOCALE_USES_FCVT就可以了,我也是碰到这个问题,搞了很久,追踪进去发现的浮点数运算问题导致的
make
make install

qt-embedded-x86被安装在/usr/src/qt442x86

建立x86环境变量文件
vi setx86rc
添加如下内容:
QTEDIR=/usr/src/qt442x86/
PATH=
/usr/src/qt442x86/bin/:$PATH
LD_LIBRARY_PATH=
/usr/src/qt442x86/lib/:$LD_LIBRARY_PATH
保存退出.移到/usr/src/qt442x86(mv setx86rc /usr/src/qt442x86)

编译embedded x86 QT应用程序前,先执行此脚本文件

5.制作根文件

我的工作目录是在根文件下,首先将root_default.tgz拷贝到根目录下,加压,生成root_default

cd /root/root_default(目录设为nfs_root,即为mini2440的根节点,下面会用到)

复制字库文件
PC 机上/usr/src/qt442arm/lib/fonts 目录上所有字库文件CP mini
2440
/usr/src/qt442arm/lib/fonts下,实际为/root/root_default/usr/src/qt442arm/lib/fonts

复制运行库

PC 机上复制下列文件到mini 2440usr/src/qt442arm/lib/目录下,文件为:i.so.4 libts-0.0.so.0 libQtCore.so.4 libQtNetwork.so.4
一般在
PC 机上/usr/src/qt442arm/lib//tslib/上可以找到上述文件。复制
时注意如果需要复制的文件是链接文件,则把被链接文件都要复制上。

复制触摸屏软件
复制
PC 机上/tslib/目录上全部文件(含子目录)到mini 2440/tslib 目录

在开发板上建立环境变量
修改开发板上
/etc/profile 文件,增加以下内容:
export QTDIR=/usr/src/qt442arm

export TSLIB_ROOT=/tslib

export PATH=$QTDIR/bin:$PATH

export TSLIB_CONSOLEDEVICE=none

export TSLIB_FBDEVICE=/dev/fb0

export TSLIB_TSDEVICE=/dev/input/event0

export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts

export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf

export TSLIB_CALIBFILE=/etc/pointercal

export QWS_MOUSE_PROTO=tslib:/dev/input/event0

export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$QTDIR/lib

修改mini 2440/tslib/etc/ts.conf 文件:把第二行# module_raw input 前面的#和空格去除,保存退出。

校准触摸屏
从新启动开发板,执行:

cd /
cd tslib/bin
./ts_calibrate
校准触摸屏

./ts_test
测试触摸屏

如果正常,
QT4 Embedded 移植成功!

14.4.2lib文件夹全部拷贝过来,但是要删除fonts内除了wenquanyi_120_50.qpf 之外的其他文件,否则太大

2:用下面方法生成yaffs2文件

解压mkyaffsimage.tgz,得到mkyaffsimage可执行文件

./mkyaffsimage root_default root.yaff2

得到根文件root.yaff2,如果要看一下大小,可以执行

这样可以将root.yaff2烧到板子上去了。

3:要是在板子上运行的时候提示缺少某些文件的时候,就去在PC机上的linux下寻找,需要主要的是看若是提示缺少的文件是以个链接文件时,需要把链接对象也拷入。

在板子上运行mousecalibtration的时候没有出现什么错误,可以正确的显示输入的汉字

目前在板子上运行的时候存在一定的问题:进入tslib运行ts_calibrate,总是提示ts_open: No such file or directory,这个问题一直没有解决,留在后面解决。

 

如果需要在PC机上使用qvfb来模拟,并且程序中需要显示中文的话,在执行程序的时候可以这样写:./程序名 -qws -font wenquanyi,这样在qvfb中可以正常的显示中文

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值