首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Ubuntu下嵌入式Qt开发环境配置全攻略(2)

Ubuntu下嵌入式Qt开发环境配置全攻略(2)

二、准备工作

    注意要在32Ubuntu系统中进行配置,由于版本冲突多如牛毛,不要尝试64位系统。Qt开发环境需要不少工具包作为基础,有些可能是系统自带的,也有些可能是笔者先前配置系统时顺带安装的,读者可以参考推荐阅读中的系统配置过程。

    可通过以下链接下载安装包或源码包,或从友善之臂提供的资料光盘中查找(SDKx86-qte包中,不过版本为2010.01):

          arm-linux-gcc-4.5.1-v6-vfp-20101103.tgzARM交叉编译器)

          arm-qte-4.7.0-20101105.tar.gzARM上的Qt/E库)

          x86-qte-4.6.1-20100201.tar.gzPC上运行的Qt/E模拟器)

          arm-qt-extended-4.4.3-20101105.tgzARM上运行的Qtopia

          x86-qt-extended-4.4.3-20101003.tgzPC上运行的Qtopia模拟器)

          qt-sdk-linux-x86-opensource-2010.05.1.binQt SDK开发环境)

        x86版本的Qt用于在PC上仿真运行为ARM开发的Qt程序,需要虚拟framebuffer工具qvfb,而这个工具的源码正好由SDK提供了。

        Qt/E移植到开发板上还需要tslib库(用于触摸屏校正),需要使用版本控制工具git下载,如需要应先安装git

    sudo apt-get install git
    然后将源码目录下载至当前目录:

    git clone https://github.com/kergoth/tslib
    为编译tslib库,还需要安装若干工具:

    sudo apt-get install autoconf automake libtool
    若不安装,编译时会出现错误:

        autoreconf: not found
    为编译Qt还要安装图形和视频开发包:

    sudo apt-get install xorg-dev
    sudo apt-get install libv4l-dev
    安装后一个包时,会报告依赖关系错误,在Ubuntu软件中心中搜索libv4lconvert0libv4l-0卸载(先卸哪个都一样,两个会被一起卸载)后再运行上条命令。不要用apt卸载,它会要求同时卸掉几十个包。

    若不安装上述第一个包,会出现错误:

        X11/extensions/XTest.hNo such file or directory(没有那个文件或目录)

    不安装后一个,会出现错误:

        linux/videodev.h: No such file or directory(没有那个文件或目录)

    安装libv4l-dev后,还需要将头文件路径进行配置:

    sudo ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/
    videodev.h

    如果以前做过编译内核或其他开发配置工作,系统可能已经自带了一套Qt工具集,与本文配置对象不兼容(很多人就是卡在这里了),应当删除:

    sudo rm /usr/bin/qmake
    sudo rm /usr/bin/qmake-qt4
    否则编译Qtopia时会出现错误:

        Bootstrap QBuild: .. FAIL
    网上很多介绍删除Qt Creator可以解决,其实是错的。

    根据Qt安装提示,还应该检查以下包是否安装:

        libglib2.0-dev
        libSM-dev
        libxrender-dev
        libfontconfig1-dev
        libxext-dev
        libgl-mesa-dev
        libglu-mesa-dev
    在Ubuntu 12.04中,除第一个外,其他包应该都是最新版,第一个包因依赖关系冲突无法安装,好在不影响编译和运行。

    注意:在拷贝粘贴命令时,其中某些字符可能被不同的编辑环境改变,特别是空格和符号,如命令执行出错,可以考虑在Linux命令行下删除空格和符号后手工输入一次。
继承事业,薪火相传
返回列表