omap 移植qt4.7.0

准备:

1.Qt源码包 qt-everywhere-opensource-src-4.7.0.tar.gz

2.交叉编译器 arm-eabi-4.4.0.tar.bz2

3.触摸屏校验工具:tslib-1.4.tar.gz

4.开发板omap

编译安装:

1.首先安装交叉编译器arm-eabi-4.4.0.tar.bz2(这个很容易,不多说了)

安装tslib:

执行命令cd tslib,进入tslib当前目录,接着执行命令如下

root@lig:/arm/qt# cd tslib/

root@lig:/arm/qt#echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache

 root@lig:/arm/qt#./configure --host=arm-none-linux-gnueabi --prefix=/usr/local/tslib --cache-file=arm-none-linux-gnueabi.cache

root@lig:/arm/qt# make

root@lig:/arm/qt# make install

成功后可在/usr/local/下生成tslib,进入tslib可以看到有bin include lib etc四个文件夹。我们暂时先不理它,在接下来的移植过程中才用到这些文件夹。

这里我是把tslib里面的文件打包拷贝到开发板的/usr/local/tslib里面。

 

编译安装arm版Qt,首先配置如下:

root@lig:/arm/qt/qt-everywhere-opensource-src-4.7.0# vim a.sh

#!/bin/sh

# for arm
./configure -prefix /opt/EmbedSky/qt-4.7-arm -embedded arm -release -opensource -qt-sql-sqlite -system-sqlite -plugin-sql-sqlite -fast -no-accessibility -no-scripttools -no-mmx -no-multimedia -no-svg -no-3dnow -no-sse -no-sse2 -silent -qt-libpng -qt-libjpeg -no-libmng -no-libtiff -no-multimedia -make libs -nomake tools -nomake examples -nomake docs -nomake demo -no-nis -no-cups -no-iconv -no-dbus -no-openssl -xplatform qws/linux-arm-gnueabi-g++ -little-endian -qt-freetype -depths 16,18 -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -qt-kbd-linuxinput -no-glib -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib -confirm-license "$@" -continue

带红色的字体部分要改成对应的目录 -I /-L 指定前面编译出的tslib的路径

#make
#make install

/*会安装库、字体等文件到 /opt/EmbedSky/qt-4.7-arm目录。*/

 

拷贝/opt/QtEmbedded-4.7.3/lib目录下的以下文件到根文件系统/usr/lib目录下:
#cp  -a /opt/QtEmbedded-4.7.3/lib.tar.gz rootfs/usr/lib
(这里我是把lib打包拷贝到开发板/usr/lib/)

step 3:

在根文件系统下建立目录 

#mkdir  /usr/lib/fonts

将/arm/qt/qt-everywhere-opensource-src-4.7.0/lib/fonts目录下的字体unifont_160_50.qpf拷到开发板对应的目录
#cp  /arm/qt/qt-everywhere-opensource-src-4.7.0/lib/fonts/unifont_160_50.qpf /usr/local

 

step 4:

使QT支持jpg格式的图片

cp /arm/qt/qt-everywhere-opensource-src-4.7.0/plugins/imageformats/* /usr/lib/

同时在应用程序main程序中加入   app.addLibraryPath("/usr/lib/");

 

提示没有libstdc++.so.6

在/usr/local/arm-2007q3/arm-none-linux-gnueabi/lib里面有libstdc++.so.6,把libstdc* 拷贝到/usr/lib下

建立文件夹: /opt/EmbedSky/qt-4.7-arm/lib/fonts

 

 

posted @ 2014-08-09 17:08  @菜鸟爱学习@  阅读(231)  评论(0编辑  收藏  举报