交叉编译Qt4.8.2


分类: Linux Qt 171人阅读 评论(0) 收藏 举报

1. 安装交叉编译器。利用友善之臂自带的交叉编译器。
将arm-linux-gcc-4.3.2.tgz 放在 /root下,执行如下操作
#cd /root
#tar xvzf arm-linux-gcc-4.3.2.tgz –C /
#gedit /root/.bashrc
在bashrc最后一行添加 export PATH=$PATH:/usr/local/arm/4.3.2/bin
#source /root/.bashrc
#arm-linux-gcc -v
查看交叉编译器版本为4.3.2

2. 编辑tslib对触摸屏的支持
将tslib1.4.tar.gz 放在/root 下,解压并编译:
# cd /root
# tar zxvf tslib1.4.tar.gz
# cd tslib
# ./autogen.sh
# ./configure –prefix=/usr/local/tslib/ –host=arm-linux ac_cv_func_malloc_0_nonnull=yes
# make
# make install

3. 配置QtE4.8
将qt-everywhere-opensource-src-4.8.0.tar.gz压缩包放在/opt下,解压:
#cd /opt
#tar zxvf qt-everywhere-opensource-src-4.8.0.tar.gz
#mv qt-everywhere-opensource-src-4.8.0 qt-4.8.0-arm
#cd qt-4.7.0-arm
3.1制作一个配置脚本
#gedit autoconfig.sh
编辑文件如下:

#!/bin/bash

./configure \
-prefix /usr/local/Trolltech/QtEmbedded-4.8.2-arm \
-opensource \
-confirm-license \
-release -shared \
-embedded arm \
-xplatform qws/linux-arm-g++ \
-depths 16,18,24 \
-fast \
-optimized-qmake \
-pch \
-qt-sql-sqlite \
-qt-libjpeg \
-qt-zlib \
-qt-libpng \
-qt-freetype \
-little-endian -host-little-endian \
-no-qt3support \
-no-libtiff -no-libmng \
-no-opengl \
-no-mmx -no-sse -no-sse2 \
-no-3dnow \
-no-openssl \
-no-webkit \
-no-qvfb \
-no-phonon \
-no-nis \
-no-opengl \
-no-cups \
-no-glib \
-no-xcursor -no-xfixes -no-xrandr -no-xrender \
-no-separate-debug-info \
-nomake examples -nomake tools -nomake docs \
-qt-mouse-tslib
-I/usr/local/tslib/include \
-L/usr/local/tslib/lib

exit

3.2生成Makefile文件并编译安装
#chmod 755 autoconfig.sh
#./autoconfig.sh
#gmake
#gmake install

3.3 移植到mini2440
安装完成后 将/usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/fonts中的字体全部删除 将 wenquanyi_120_50.qpf字体复制到fonts下:
#rm –rf /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/fonts/*
#cp wenquanyi_120_50.qpf /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib/fonts/
3.4 制作开发板文件系统
将root_qtopia-20100108.tar.gz 和 mkyaffs2image.tgz放在/root下。删除qtopia图形界面系统,删除root文件夹下占存储较大的文件。复制/usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib 文件夹到 /root/root_qtopia/ usr/local/Trolltech/QtEmbedded-4.8.0-arm, 复制 /usr/local/tslib下所有内容到 /root/root_qtopia/usr/local/,修改触摸屏配置文件 ts.conf, 修改环境变量,修改自启动文件 /root/root_qtopia/etc/init.d/rcS。最后将mkyaffs2image 工具生成文件系统镜像。
#cd /root
#tar zxvf root_qtopia-20100108.tar.gz
#tar zxvf mkyaffs2image.tgz
#cd root_qtopia
#rm –rf opt/Qtopia
#rm –rf root/Documents/*
#mkdir -p usr/local/Trolltech/QtEmbedded-4.8.0-arm
#cp –r /usr/local/Trolltech/QtEmbedded-4.8.0-arm/lib usr/local/Trolltech/QtEmbedded-4.8.0-arm
#cp –r /usr/local/tslib/* usr/local/
#gedit usr/local/etc/ts.conf
#gedit etc/profile
#gedit etc/init.d/rcS
#cd /root
#mkyaffs2image root_qtopia root_qt-4.8.0.img
usr/local/etc/ts.conf: 取消注释 module_raw input
etc/profile:在最后添加
export QTDIR=/usr/local/Trolltech/QtEmbedded-4.8.0-arm
export T_ROOT=/usr/local
export PATH=$QTDIR/bin:$PATH
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_PLUGINDIR=$T_ROOT/lib/ts
export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf
export TSLIB_CALIBFILE=/etc/pointercal
export QWS_MOUSE_PROTO=Tslib:/dev/input/event0
export LD_LIBRARY_PATH=$T_ROOT/lib:$QTDIR/lib
etc/init.d/rcS:
删除:
/bin/qtopia &
echo ” ” > /dev/tty1
echo “Starting Qtopia, please waiting…” > /dev/tty1
添加:
source /etc/profile
echo ” ” > /dev/tty1
echo “Starting touch calibrate ” > /dev/tty1
echo ” ” > /dev/tty1
sleep 1
/usr/local/bin/ts_calibrate &

3.5 下载内核,文件系统到mini2440
linux-2.6.32.img
root_qt-4.8.0.img
至此Qt4.8.0移植完成..


你可能感兴趣的:(linux,image,qt,qt,Path,makefile,编译器,fonts)