主机平台:Ubuntu10.04
硬件平台:FL2440
交叉编译器:arm-linux-gcc-4.3.2

一、安装交叉编译器
1、下载交叉编译工具arm-linux-gcc-4.3.2.tgz,并解压到/usr/local/arm下
 

  1. tar zxvf arm-linux-gcc-4.3.2.tgz –C / 
    此时会生成/usr/local/arm/4.3.2
2、 添加交叉编译器到环境变量中
    

  1. #gedit ~/.bashrc 
    添加
      export PATH=$PATH:/usr/local/arm/4.3.2/bin
3、查看交叉编译器
    

  1. #arm-linux-gcc -v 
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /scratch/julian/lite-respin/linux/src/gcc-4.3/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --enable-shared --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery G++ Lite 2008q3-72' --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/libc --with-gmp=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin
Thread model: posix

二、安装触摸屏校验工具tslib-1.4
1、下载tslib-1.4.tar.gz,并解压到/home/arm/qte4.6.3下
2、进入tslib-1.4下,执行
     

  1. #Source autogen.sh 
3、执行配置命令
     

  1. ./configure --prefix=/usr/local/tslib --host=arm-linux ac_cv_func_malloc_0_nonnull=yes 
4、编译
     

  1. #make 
5、安装
     

  1. #make install 
正确完成后会在/usr/local/下生成tslib,tslib中放置我们需要的库文件

三、编译Qt4.6.3
1、下载qt-embedded-4.6.3-arm.tar.gz,解压到/home/arm/qte4.6.3下
2、进入qt-embedded-4.6.3-arm下,执行


  1. ./configure -prefix /usr/local/Trolltech/QtEmbedded-4.6.3-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-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 
注:这里的depths 16,18,24配置要根据实际情况相应修改,如果不清楚可以去掉
3、编译
    

  1. make 
4、安装
    

  1. make install 
正确完成后,根据配置情况(步骤2)可以发现会生成/usr/local/Trolltech/QtEmbedded-4.6.3-arm,这里生成的库都是arm下的

四、移植库到FL2440开发板
1、将编译好的tslib库和Qt4.6.3库移植到开发板中,移植的时候目录跟主机中的相同,目录如下
     /usr/local/Trolltech/QtEmbedded-4.6.3-arm/bin
     /usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib/fonts
     /usr/local/tslib

五、移植Qt4.6.3库到FL2440开发板
1、FL2440开发板中建立环境变量
     打开开发板中文件
          

  1. vi /etc/profile 
     添加

  1. export QTDIR=/usr/local/Trolltech/QtEmbedded-4.6.3-arm 
  2. export QPEDIR=/usr/local/Trolltech/QtEmbedded-4.6.3-arm 
  3. export TSLIB_ROOT=/usr/local/tslib 
  4. export PATH=$QTDIR/bin:$PATH 
  5. export TSLIB_CONSOLEDEVICE=none 
  6. export TSLIB_FBDEVICE=/dev/fb0 
  7. export TSLIB_TSDEVICE=/dev/input/event0 
  8. export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts 
  9. export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf 
  10. export TSLIB_CALIBFILE=/etc/pointercal 
  11. export QWS_MOUSE_PROTO=Tslib:/dev/input/event0 
  12. export QWS_DISPLAY=LinuxFb:/dev/fb0 
  13. export QWS_SIZE=480x640 
  14. export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH 
   修改开发板中文件
     

  1. #vi /usr/localtslib/etc/ts.conf 
   去掉#module_raw input前面的#和空格

六、编译开发板上可执行的QT程序
1、设置QT编译的环境
   在主机/root目录下新建文件qte_env,添加如下内容
 

  1. export QTDIR=/usr/local/Trolltech/QtEmbedded-4.6.3-arm 
  2. export PATH=$QTDIR/bin:$PATH 
  3. export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH 
2、执行
     #. qte_env(.后有空格)
3、编译一个简单的Qt程序-hello
4、进入hello目录下,执行


  1. #qmake -project 
  2. #qmake 
  3. #make 
5、将生成的hello二进制文件下载到FL2440开发板中
6、修改权限,执行
    

  1. #./hello -qws 
   效果如下
 

Qt4.6.3移植