QT4.5.2移植MC100环境搭建步骤

来源:互联网 发布:如何查看ftp的端口号 编辑:程序博客网 时间:2024/05/01 16:18

我的MC100开发板为项目组定制,基于飞思卡尔MX53 cpu,比较少见       系统用的ubuntu 9.10 32位虚拟机      

    

其他开发板可以参考我的做法     很久之前写的了,可能有些错误,欢迎大家指正,咱们共同学习!!

 

 

1、获取源码包:
    在:
http://www.qtcn.org/bbs/read.php?tid=1075 (QTCN社区)下载 :
    qt-x11-opensource-src-4.5.2.tar.gz(QT X11版本)
    qt-embedded-linux-opensource-src-4.5.2.tar.gz(由它编译出QT X86及QT ARM版)

 

在CSDN下载:

tslib1.4.tar.gz(触摸屏校准库)

arm-linux-gcc-4.4.3.tar.gz(标准GCC编译器,不用虚拟机自带的FSL编译器,否则编译虽出错,因为这个问题调试了3天,WTF!!)

 

以下操作请在ROOT用户下操作


2、配置ubuntu编译环境

    安装g++:  sudo  apt-get g++
    安装编译X11用到的库:sudo apt-get libx11-dev libxext-dev

    安装libxtst-dev: sudo aptitude install libxtst-dev 否则编译qvfb出错。

 

3.安装GCC编译器

解压arm-linux-gcc-4.4.3.tar.gz:       sudo tar xvzf arm-linux-gcc-4.3.2.tgz 

 

在/usr/local/下建立toolschain文件夹    (这个地址你可以自己设定,别弄错了就行)

 

将解压好的 arm-linux-gcc-4.3.2 文件夹中的4.4.3文件夹拷贝到/usr/local/toolschain 目录下。

最终文件结构:

 

设置环境变量:(重要!!)

在/etc/profile中添加:

        export PATH=/usr/local/toolschain/4.4.3/bin:$PATH

        export CC=arm-linux-gcc 

                                                    不要用EXPORT命令!!!!否则重启后设置失效

之后在命令行中输入

arm-linux-gcc -v 

 

如果显示  :

Target: arm-none-linux-gnueabi  和

gcc version 4.4.3 (ctng-1.6.1)

安装完毕,重新启动Linux。


4、编译及安装qt-x11-opensource-src-4.5.2 

    qt-x11版本可以产生Qt开发工具,如designer、qvfb,嵌入式的开发有了qvfb,就可以不需要实际的开发板,也可以开发Qt应程序。
    tar xjvf qt-x11-opensource-src-4.5.2.tar.bz2
    cd qt-x11-opensource-src-4.5.2
    ./configure
    make
    make install
    历经漫长的编译过程,默认安装在/usr/local/Trolltech/Qt-4.5.2下,编译完成后源程序不要删除,还有用。



5、编译配置QtEmbedded-4.5.2-x86版本(我项目组开发的ARM版QT,关系不大)

    A、解压
    root@hrixin-desktop:/work/qte# tar xjvf qt-embedded-linux-opensource-src-4.5.2.tar.bz2
    root@hrixin-desktop:/work/qte# mv qt-embedded-linux-opensource-src-4.5.2 qt-embedded-linux-opensource-src-4.5.2-x86
    root@hrixin-desktop:/work/qte# cd qt-embedded-linux-opensource-src-4.5.2-x86
    
    B、配置编译:
    ./configure -prefix /usr/local/Trolltech/QtEmbedded-4.5.2-x86 -embedded x86 -qvfb
    root@hrixin-desktop:/work/qte/qt-embedded-linux-opensource-src-4.5.2-x86# make



    C、安装到/usr/local/Trolltech/QtEmbedded-4.5.2-x86目录下:
    root@hrixin-desktop:/work/qte/qt-embedded-linux-opensource-src-4.5.2-x86#    make install
    
    D、在/etc/profile文件中输入以下内容:
    export QTEDIR=/usr/local/Trolltech/QtEmbedded-4.5.2-x86/
    export PATH=/usr/local/Trolltech/QtEmbedded-4.5.2-x86/bin/:$PATH
    export LD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded4.5.2x86/lib/:$LD_LIBRARY_PATH

保存退出,注销下。


5、编译安装tslib1.4极其重要,错误最多的地方!!!

    A、安装编译过程需用到的程序(一定要装!
        root@hrixin-desktop:/home/hrixin# apt-get install autoconf(或autoconf2.13)
        root@hrixin-desktop:/home/hrixin# apt-get install automake
        root@hrixin-desktop:/home/hrixin# apt-get install libtool
    
    B、配置编译
        root@hrixin-desktop:/work/qt# tar xzvf tslib-1.4.tar.gz 
        root@hrixin-desktop:/work/qt# cd tslib
        生成./configure
        root@hrixin-desktop:/work/qt/tslib# source autogen.sh

 

建立一个脚本文件,命名为a.sh,写入命令:

echo "ac_cv_func_malloc_0 _nonnull=yes">arm-none-linux-gnueabi.cache  

./configure --host=arm-none-linux-gnueabi --cache-file=arm-none-linux-gnueabi.cache --enable-inputapi=no -prefix=/usr/local/tslib

 

如图

保存退出,更改a.sh的权限:sudo chmod u+x a.sh

执行a.sh    shell脚本    一定要盯着终端输出,确保正常结束,不能有错误,再执行下一步,否则make后的库缺少好多东西,根本用不了。       

配置完成后编译tslib:

root@hrixin-desktop:/work/qt/tslib# make 



    C、安装


        root@hrixin-desktop:/work/qt/tslib# make install       

 

 

安装后文件夹结构如下:

其中tslib文件夹

确认无误后,恭喜你,编译安装成功了。哈哈哈

 

 

 

打包tslib:     root@hrixin-desktop:/usr/local# tar -czvf tslib.tar.gz tslib

    D、复制到板子文件系统/usr/local目录下解压
  
        
    E、设置环境变量,校准触摸屏。


        在开发板终端建立脚本文件,并执行:
        

        export TSLIB_ROOT=/usr/local/tslib
        export TSLIB_TSDEVICE=/dev/input/event0 
        export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
        export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
        export TSLIB_CALIBFILE=/etc/pointercal
        export TSLIB_FBDEVICE=/dev/fb0
        export QWS_MOUSE_PROTO=Tslib:/dev/input/event0

                
        /usr/local/tslib/bin目录下执行校准触摸屏程序:


        [root@FriendlyARM bin]# ./ts_calibrate


        触摸屏上有显示,程序能运行,则移植成功!
  
6、编译安装QtEmbedded-4.5.2-arm版本十分重要!!!核心在于此

    A、解压


    root@hrixin-desktop:/work/qte# tar -xvzf qt-embedded-linux-opensource-src-4.5.2.tar.bz2
    root@hrixin-desktop:/work/qte# mv qt-embedded-linux-opensource-src-4.5.2 qt-embedded-linux-opensource-src-4.5.2-arm
    root@hrixin-desktop:/work/qte# cd qt-embedded-linux-opensource-src-4.5.2-arm

    B、配置编译:


   建立a.sh脚本文件,添加命令(这命令太长了,所以这么做。。。。你自己打也行         囧   ) :

 

      ./configure -prefix /usr/local/Trolltech/Qt-4.5.2-arm -embedded arm -no-qt3support -xplatform qws/linux-arm-g++ -no-webkit -qt-libtiff -qt-libmng -qt-mouse-pc -no-mouse-linuxtp -qt-mouse-tslib 

      -I /usr/local/tslib/include -L /usr/local/tslib/lib



   红字部分指定了tslib库文件的位置,要跟我们的tslib安装目录相同,务必注意啊!!!



    root@hrixin-desktop:/work/qte/qt-embedded-linux-opensource-src-4.5.2-arm# make(一定要盯着终端输出,确保正常结束,不能有错误)
    
   编译成功之后因为如图的文件数量及大小:

 

之后不用配置环境变量,直接进入eclipse,选择windows---preferences---Qt

 

将ARM版的QT编译器添加到eclipse中。

 

新建工程之后,右键“属性”,找到QT properitys,选择ARM的编译器来编译它:

如果出错,在:  /etc/profile中添加:

        export QTEDIR=/usr/local/Trolltech/Qt-4.5.2-arm        

export PATH=$QTEDIR/bin/:$PATH

        export LD_LIBRARY_PATH=$QTEDIR/lib/:$LD_LIBRARY_PATH

编译工程时生成的Makefile

应该程序输出的是arm版QT编译器的信息。

最后生成的可执行文件也应该是arm版的。

将可执行文件放到板子上运行,

比如:./qt1  -qws   红色参数一定要加

如果出现找不到库文件的情况只要将编译器lib文件夹中的库和连接文件拷到板子上的/usr/lib/文件夹下即可。(我们调试时出现过缺少libpng.so和libQtGui.so的情况)