Fedora10下搭建ARM开发环境QTE及移植过程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Fedora10下搭建ARM开发环境QTE及移植过程
QT 2010-09-09 17:40:48 阅读311 评论0 字号:大中小订阅
说明:之前也做过QTE的安装及移植,参考网上很多例子,大部分采用的是友善之臂开发板提供的
arm-linux-g++ 4.3.2编译器,这样在运行Qt可执行程序的时候经常会遇到一个致命问题就是:Segmentation Fault(段错误)而采用arm920t-eabi.tgz可以解决段错误问题,本次移植主要采用arm920t-eabi.tgz编译器。
一、安装环境:
系统平台:Fedora 10,内核2.6,图形界面
二、软件需求及下地地址:
Qt版本qt-everywhere-opensource-src-4.6.2.tar.gz
下载地址:/downloads-cn
编译器:arm920t-eabi.tgz(即arm-linux-gcc-4.1.2)
下载地址:
/downloads/toolchains/arm920t-eabi.tgz
触摸屏软件:tslib1.4
下载地址:略
三、环境安装过程:
1、安装arm920t-eabi.tgz
然后直接将arm920t-eabi.tgz解压缩到根目录,把编译器路径加入系统环境变量,以便编译时找到相关的库,运行命令:
#gedit /root/.bashrc
编辑/root/.bashrc文件,在最后一行加上
# export CPLUS_INCLUDE_PATH=/opt/toolchains/
arm920t-eabi/arm-angstrom-linux-gnueabi/include/c++:/opt/toolchain s/arm920t-eabi/arm-angstrom-linux-gnueabi/include/c++/arm-none-li nux-gnueabi
#export PATH=/opt/toolchains/arm920t-eabi/bin:$PATH
2、编译tslib对触摸屏支持下载,tslib1.4.tar.gz,解压到根目录后,运行autogen.sh后生成configure文件。
# ./configure --prefix=/usr/local/tslib/ --host=arm-linux
ac_cv_func_malloc_0_nonnull=yes
# make
# make install
3、qt-everywhere-opensource-src-4.6.2安装及配置
将qt-everywhere-opensource-src-4.6.2.tar.gz解压到/opt/目录下得到文件qt-everywhere-opensource-src-4.6.修改
qt-everywhere-opensource-src-4.6.2/mkspecs/qws/linux-arm-g++/qm ake.conf 文件(添加lts参数):
QMAKE_CC = arm-linux-gcc -lts
QMAKE_CXX = arm-linux-g++ -lts
QMAKE_LINK = arm-linux-g++ -lts
QMAKE_LINK_SHLIB = arm-linux-g++ -lts
这一步必须有,不然肯定出错。
配置:
# ./configure \
-prefix /usr/local/Trolltech/QtEmbedded-4.6.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
上面划掉的蓝色内容,可以不要的,这样编辑也不会出错(虚拟机搞坏了,不得已重装,配置参数时忘了干上面的工作了,结果发现没出错)。
关于配置参数,参照一下这篇文章吧,可以用configure -embedded –help 查看。
/blog/?p=582
编译:# gmake
安装:# gmake install
安装完成后,在/usr/local/Trolltech 目录中有QtEmbedded-4.6.2-arm 文件夹
4、界面移植
1)、系统通过NFS挂载文件系统,挂载目录为:/opt/filesys.将虚拟机中
/usr/local/Trolltech/QtEmbedded-4.6.2-arm/lib的所有文件拷贝到
/opt/pro_5.0_L137/filesys/usr/local/Trolltech/QtEmbedded-4.6.2-arm/l ib(即挂载文件系统中的/usr/local/Trolltech/QtEmbedded-4.6.2-arm/lib目录下),将Fedora10上/usr/local/tslib 中的库复制到
/opt/pro_5.0_L137/filesys/usr/local中,即将/usr/local/tslib下的所有文件复制到/opt/pro_5.0_L137/filesys/usr/local文件夹下。
2)、挂载文件系统环境设置,打开/opt/pro_5.0_L137/filesys/etc/profile 添加触摸屏支持内容:
export
LD_LIBRARY_PATH=/usr/local/lib:$QTDIR/lib:$LD_LIBRARY_PATH export TSLIB_ROOT=/usr/local/lib
export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_PLUGINDIR=/usr/local/lib/ts