Fedora10下搭建ARM开发环境QTE及移植过程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档