Qt4.6.3移植

来源:互联网 发布:excel去除相同数据 编辑:程序博客网 时间:2024/06/05 16:37
主机平台:Ubuntu10.10
硬件平台:FL2440
交叉编译器:arm-linux-gcc-4.3.2

一、安装交叉编译器

1、下载交叉编译工具arm-linux-gcc-4.3.2.tgz,并解压到/usr/local/arm下
      #tar zxvf arm-linux-gcc-4.3.2.tgz –C /
    此时会生成/usr/local/arm/4.3.2
2、 添加交叉编译器到环境变量中
      #gedit ~/.bashrc
    添加
      export PATH=$PATH:/usr/local/arm/4.3.2/bin
3、查看交叉编译器
     #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下,执行
     #Source autogen.sh
3、执行配置命令
     ./configure --prefix=/usr/local/tslib --host=arm-linux ac_cv_func_malloc_0_nonnull=yes
4、编译
     #make
5、安装
     #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下,执行
./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、编译
     #make
4、安装
     #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
这里也可以在制作根文件系统(RootFS)时完成;

五、移植Qt4.6.3库到FL2440开发板

1、FL2440开发板中建立环境变量
     打开开发板中文件
          #vi /etc/profile
     添加
     export QTDIR=/usr/local/Trolltech/QtEmbedded-4.6.3-arm
     export QPEDIR=/usr/local/Trolltech/QtEmbedded-4.6.3-arm
     export TSLIB_ROOT=/usr/local/tslib
     export PATH=$QTDIR/bin:$PATH
     export TSLIB_CONSOLEDEVICE=none
     export TSLIB_FBDEVICE=/dev/fb0
     export TSLIB_TSDEVICE=/dev/input/event0
     export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
     export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
     export TSLIB_CALIBFILE=/etc/pointercal
     export QWS_MOUSE_PROTO=Tslib:/dev/input/event0
     export QWS_DISPLAY=LinuxFb:/dev/fb0
     export QWS_SIZE=480x640
     export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH
   修改开发板中文件
     #vi /usr/localtslib/etc/ts.conf
   去掉#module_raw input前面的#和空格

六、编译开发板上可执行的QT程序

1、设置QT编译的环境
   在主机/root目录下新建文件qte_env,添加如下内容
     export QTDIR=/usr/local/Trolltech/QtEmbedded-4.6.3-arm
     export PATH=$QTDIR/bin:$PATH
     export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
2、执行
     #. qte_env(.后有空格)
3、编译一个简单的Qt程序-hello
4、进入hello目录下,执行
     #qmake -project
     #qmake
     #make
5、将生成的hello二进制文件下载到FL2440开发板中
6、修改权限,执行
     #./hello -qws
   效果如下

原创粉丝点击