您的位置:首页 > 编程语言 > Qt开发

交叉编译Qt4.8.2

2012-07-04 11:36 411 查看
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移植完成..
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: