qt4.7.4的移植(待整理)

来源:互联网 发布:omnifocus软件 编辑:程序博客网 时间:2024/05/16 08:41

1:环境介绍

虚拟机:VMware_workstation_7.0

Linux 环境:ubuntu 12.04

交叉编译环境:arm-linux-gcc-4.3.2.tgz

Qt--x86:Qt_SDK_Lin32_offline_v1_1_3_en.run

Qt-arm:qt-everywhere-opensource-src-4.7.4.tar.gz

2:移植步骤

2.1.安装交叉编译环境

1.解压arm-linux-gcc-4.3.2.tgz/usr/local/

tar xzvf arm-linux-gcc-4.3.2.tgz –C /

 

2、配置下编译环境路径在控制台下输入 gedit  /root/.bashrc等一会出来文本编辑器后在文件最后(最后一行)加上下面代码

 

export PATH=/usr/local/arm/4.3.2/bin:$PATH

 

保存关闭后,注销当前用户,用root账号重新登录系统(使刚刚添加的环境变量生效)

 

此时你可以在控制台输入: arm-linux-gcc -v如果安装成功将会输出 arm-linux-gcc的版本号

 

2.2安装tslib1.4

1.       下载tslib1.4,解压到/home

2.  sudo apt-get install autoconf automake libtool

sudo apt-get install g++

sudo apt-get -y install x-dev libx11-dev xlibs-static-dev x11proto-xext-dev libxext-devlibqt3-mt-dev

sudo apt-get install libxtst-dev,否则编译 qvfb出错。

2.       进入解压的目录运行 执行./autogen.sh

3.       执行./configure --prefix=/opt/tslib/ --host=arm-linux ac_cv_func_malloc_0_nonnull=yes ,经过一段时间的编译

4.       执行make

    make出错,可能由于修改了/root/.bashrc未注销,此时输入arm-linux-gcc –v 若找不到命令则重新执行2.1步骤

5.       执行make install

6.       修改/opt/tslib/etc/ts.conf,把第二行的#号去掉(这样做的主要目的是为了在移植到板子上的时候,可以制定输入模块)

把# module_raw collie 前面的“#”号去掉,然后把该行移至行首,最后我的配置文件如下:

1.           module_rawcollie

2.           modulepthrespmin=1

3.           modulevariancedelta=30

4.           moduledejitterdelta=100

5.           modulelinear

 

6.       /etc/profile中加入

export PATH=/opt/tslib:$PATH/opt/tslib为上面--prefix=/opt/tslib/所设的tslib1.4的安装目录

3.编译qt4.7.4-arm

1.        qt-everywhere-opensource-src-4.7.4.tar.gz压缩包放在/opt下,解压,重命名:

2.         在工作目录/opt/FriendlyARM/mini2440中执行:

3.         #cd /opt/FriendlyARM/mini2440

#tar xvzf qt-everywhere-opensource-src-4.7.4.tar.gz

#cd /opt

#tar zxvf qt-everywhere-opensource-src-4.7.4.tar.gz

#mv qt-everywhere-opensource-src-4.7.4 qt-4.7.4-arm

#cd qt-4.7.4-arm

2.       开始进行配置选项

./configure -embedded arm -release -opensource -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-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 /opt/tslib/include -L /opt/tslib/lib -confirm-license"$@"

 

./configure -embedded arm -release -opensource -fast -no-accessibility -no-scripttools -no-mmx  -no-svg -no-3dnow -no-sse -no-sse2 -silent -qt-libpng -qt-libjpeg -no-libmng -no-libtiff  -make libs -nomake tools -nomake docs -nomake demo -no-nis -no-cups -no-iconv -no-dbus -no-openssl -xplatform qws/linux-arm-g++ -little-endian -qt-freetype -depths 16,18 -qt-gfx-linuxfb -no-gfx-transformed  -no-gfx-vnc-qt-mouse-linuxup -qvfb   -qt-gfx-linuxfb -qt-gfx-multiscreen -qt-gfx-qvfb  -qt-kbd-linuxinput  -qt-mouse-tslib -I /opt/tslib/include -L /opt/tslib/lib -confirm-license"$@"

configure qte for embedded x86
      ./configure -prefix /home/devin/test/qte-4.6.3 -release -no-separate-debug-info -shared -no-fast -largefile -exceptions -accessibility -stl -qt-sql-sqlite -xmlpatterns -multimedia -audio-backend -no-phonon -phonon-backend -svg -webkit -javascript-jit -script -scripttools -no-declarative -qt-zlib -qt-gif -no-libtiff -qt-libpng -no-libmng -qt-libjpeg -openssl -nis -no-cups -iconv -pch -qt-gfx-linuxfb -qt-gfx-multiscreen -qt-gfx-qvfb -no-gfx-transformed -no-glib -dbus -qvfb -qt-mouse-qvfb -plugin-mouse-tslib
-nomake tools -nomake examples-nomake docs -nomake demo -opensource -confirm-license -qt-mouse-linuxinput -embedded x86 -xplatform qws/linux-x86-g++  (-arch x86 -no-armfpa -depths 2,8,16,32)

 

 

    此步可能提示不成功,The tslib functionality test failed!

我的做法是重新安装了tslib就解决了。

 

3.      #gmake  开始进行交叉编译gmake 此过程要一个多小时

4.      #gmake install 在交叉编译成功后运行gmake install安装,这里会默认安装到/usr/local/Trolltech/QtEmbedded-4.7.4-arm

5.qt-4.7.4-arm目录里面建立setenv-embedded.sh

#gedit setenv-embedded.sh

输入以下:

### useage: . setenv.sh

export QT4DIR=/opt/QtSDK/Desktop/Qt/474/gcc

export QTEDIR=/usr/local/Trolltech/QtEmbedded-4.7.4-arm

export PATH=$QTEDIR/bin:$QT4DIR/bin:$PATH

export LD_LIBRARY_PATH=$QT4DIR/lib:$QTEDIR/lib:$LD_LIBRARY_PATH

 

echo "set qt-4.7.4 env PATH successful !"

保存退出,然后运行 . setenv.sh

 

4.         这个时候qte的编译就成功了

 

4.配置  QtCreator

  1.  新建项目完成后,在菜单栏上选择tools->option

   2. 在左边Qt4中设定版本,在Manual中添加 qte的版本点击add然后选择qte的安装路径选择/usr/local/Trolltech/QtEmbedded-4.7.4-arm/bin/qmake此时旁边应该会出现红色叉号,

   3 ToolChains中选择arm-linux-g++的路径同理在manual中手动添加GCCE(注:不可选择GCC,不然make的时候会出现 no struction错误路径/usr/local/arm/4.3.2/bin/arm-linux-g++

   4.project中选择qte的版本进行编译即可

5.单独编译qvfb 

  1.tar xvf    qvfb-1.1.tar.gz

  2.cd qvfb-1.1

  3.安装qt3 lib inc  # apt-get install libqt3-headers libqt3-mt-dev 

    而后,再configure 就不会出现同样的问题了。如下:
       # ./configure

    如果找不到X11库和头文件,需要加上如下选项:
      # ./configue --x-includes=/usr/lib/X11 --x-libraries=/usr/lib/

    如果找不到qt3库和头文件,需要加上如下选项:
      # ./configure --with-qt-includes=/usr/include/qt3/ --with-qt-libraries=/usr/lib/

  4. ./configure –withqt3的头文件和路径

  5,make    make install

原创粉丝点击