本文转至http://blog.163.com/seven_7_one/blog/static/162606412201161454257860/
qt-extended-4.4.3在S3C6410上的移植
2011-07-14 17:42:57| 分类: linux学习 | 标签: |字号大中小 订阅
如何使用NFS网络文件系统可以参考飞凌的《OK6410开发板LINUX2.6用户手册》 NFS部分。
开发平台:Ubantu9.10, 交叉编译器:arm-linux-gcc3.4.5 ,飞凌开发板:6410系列
1 编译tslib
编译和运行qt-extended-4.4.3(Qtopia4),需要tslib库,该库是触摸屏需要的库文件,如对触摸屏的数据进行过滤,去抖动等,QT的库会调用tslib的库文件
注意:您也可以不用编译tslib-1.4,直接使用我们编译好的tslib库即可,使用tslib同样需要配置环境变量,如何配置请跳到“配置环境变量”一节
编译方法:
解压tslib-1.4.rar后 记得先安装三个东西
#sudo apt-get install autoconf
#sudo apt-get install automake
#sudo apt-get install libtool
#cd tslib/
//设置环境变量,指向交叉编译器路径
export PATH=/usr/local/arm/arm-linux-gcc-3.4.5/bin:$PATH
export TOOLCHAIN=/usr/local/arm/arm-linux-gcc-3.4.5
export TB_CC_PREFIX=arm-linux-
export PKG_CONFIG_PREFIX=$TOOLCHAIN/arm-linux
运行脚本
#./autogen.sh
#echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
配置安装参数
#./configure --host=arm-linux --cache-file=arm-linux.cache --enable-inputapi=no PLUGIN_DIR=/usr/local/arm/tslib/plugins -prefix=/usr/local/arm/tslib/build -host=arm-linux -- cache-file=arm-linux.cache 2>&1 | tee conf_log
编译
#make 2>&1 | tee make_log
#make install
编译后会出现bulid文件夹
#cd build/etc
#gedit ts.conf
去掉module_raw input前面的#号和空格,注意:module_raw input前面不能有空格,否则运行测试软件时会提示 Segmentation fault
看一下主机目录 /usr/local/arm/下面是否已经有了 tslib ,如果有记得修改ts.conf,如果没有
把build 文件夹拷贝到/usr/local/arm下,把build改名为tslib, 编译qt-extended-4.4.3时需要,另外把这个tslib放到网络文件系统目录中的/usr/local下面,我的是/forlinx/root/usr/local/
在开发板上进入到tslib/bin里面运行./ts_calibrate 看一下屏幕上是否出现校准程序 ,如果出现则表示tslib编译成功完成.在开发板上运行时需要设置环境变量,运行编译好的Qtopia4时也需要环 境变量,为了在每次启动开发板自动设置环境变量可以把以下的内容放到 /forlinx/root/etc/profile文件中
配置环境变量:该环境变量是运行tslib测试程序和运行Qtopia时必须添加的环境变量,在开发板上添加.
export TSLIB_ROOT=/usr/local/tslib
export TSLIB_TSDEVICE=/dev/input/event1
export TSLIB_TSEVENTTYPE=H3600
export TSLIB_CONFFILE=/usr/local/tslib/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/local/tslib/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export QWS_MOUSE_PROTO=Tslib:/dev/input/event1
#export QWS_MOUSE_PROTO=TPanel:/dev/input/event1
#export QWS_MOUSE_PROTO="Tslib:/dev/input/event1 MouseMan:/dev/input/mice"
#export QWS_MOUSE_PROTO=MouseMan:/dev/input/mice
export QTDIR=/opt/Qtopia
export QPEDIR=/opt/Qtopia
export PATH=$QTDIR/bin:$PATH
export QT_PLUGIN_PATH=$QTDIR/plugins:$QTDIR/qt_plugins/
export QT_QWS_FONTDIR=$QPEDIR/lib/fonts/
export LD_LIBRARY_PATH=$QTDIR/plugins/qtopialmigrate/:$QTDIR/qt_plugins/imageformats/:$QTDIR/lib:/usr/local/tslib/lib:$LD_LIBRARY_PATH
2 编译和运行qt-extended-4.4.3
注意: 您可以使用自己编译的Qtopia在开发板上运行,也可以使用我们已经编译好的Qtopia,不用自己编译,编译过程需要很长时间,我的PC用了3个多小时。
如果直接使用编译好的Qtopia,看“运行Qtopia4”一节。
编译Qtopia4:
编译Qtopia4需要指定交叉编译器的路径,如果在编译tslib时已经设置好了环境变量就不需要再设置了,编译之前先执行export命令,看一下是否已经有了以下的环境变量
export PATH=/usr/local/arm/arm-linux-gcc-3.4.5/bin:$PATH
export TOOLCHAIN=/usr/local/arm/arm-linux-gcc-3.4.5
export TB_CC_PREFIX=arm-linux-
export PKG_CONFIG_PREFIX=$TOOLCHAIN/arm-linux
编译qt-extended-4.4.3 时注意先建立一个空文件夹,该文件夹与qt-extended-4.4.3处于同一级别目录下,如qt-extended-4.4.3所在目录为 /mnt/Qt-test/qt-extended-4.4.3,则需要建立 /mnt/Qt-test/builddir文件夹,然后在命令终端中
另外需要注意的是:1 编译Qtopia时确保你的Ubantu9.10环境中安装了GNU g++编译器,Qtopia编译过程中用这个编译器用来编译一些工具在PC上运行.
2 注意你的Ubantu中要安装X11的SDK库,Qtopia编译过程中需要使用X11SDK里面的一些头文件,使用以下命令即可安装需要的文件
apt-get install libx11-dev libxext-dev libxtst-dev
3 编译时 虚拟机中的qt-extended-4.4.3 文件夹不能放在与Windows共享的目录中,否则会编译出错.
cd /mnt/Qt-test/builddir 输入以下内容,即可开始配置Qtopia4了,具体的配置含义可以 ../qt-extended-4.4.3/configure -help 查看,您可以根据自己的需要,填写属于自己的配置,另外网络 上有不少关于配置的解释,在此就不多讲了
../qt-extended-4.4.3/configure -release -image /opt/Qtopia -prefix /opt/Qtopia -xplatform linux-arm-g++ -arch arm -build-qt -no-dbus -ui-type home -launch-method quicklaunch -remove-module qvfb -remove-module modem -remove-module bluetooth -add-displaysize 480x272 -remove-module drm -remove-module infrared -remove-module dbus -extra-qt-config "-qt-mouse-linuxtp" -extra-qt-embedded-config "-xplatform qws/linux-arm-g++ -embedded arm -qconfig qpe -shared -little-endian -webkit -qt-kbd-usb -qt-libpng -qt-libjpeg -qt-gif -depths 4,8,16,32 -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib" 2>../qtopiaconfigureERR.txt
配置完成后,根据提示即可完成编译和安装,目前安装在 /opt/Qtopia 下面,
运行Qtopia4:
把Qtopia放到开发板的 /opt目录下面即 /opt/Qtopia/,我的是NFS文件系统是 /forlinx/root/opt/Qtopia,确认在开发板上已经设置好了环境变量,环境变量参看tslib中 “配置环境变量”一节。
配置好环境变量后,既可以运行Qtopia了,另外Qtopia中自带的软件也可以单独运行,Qtopia/bin里面的软件如 ./photogallery -qws 即可运行图片浏览软件 ,而不需要启动qpe桌面环境.下面的命令 可运行Qtopia
cd /opt/Qtopia/bin
./qpe
即可在屏幕上看到Qtopia4的界面, 里面附带了一些应用程序,目前这些应用程序需要修改完善,有的暂时不能使用,我们会逐步进行程序的修改和优化,最终会给您一个惊喜的使用体验。