在PC上,我们需要得到两个版本的Qt,分别是:Qt-4.5.2和QtEmbedded-4.5.2-arm。前者包括了Qt Designer等基本工具,用于在PC上对程序的开发调试,使我们能确保程序放到板子上之前就符合设计的要求;然后我们用后者的库将调试好的程序编译成能在arm-linux平台上运行的程序。

Qt-4.5.2我们用从网上下载到的qt-x11-opensource-src-4.5.2.tar.gz编译后安装得到;QtEmbedded-4.5.2-arm我们用qt-embedded-linux-opensource-src-4.5.2.tar.gz编译后安装得到,qt-embedded-linux-opensource-src-4.5.2.tar.gz还可以编译成QtEmbedded-4.5.2-X86,但我们不需要。在编译qt-embedded-linux-opensource-src-4.5.2.tar.gz之前,我们必须准备好arm-linux-gcc交叉编译工具,我用的是arm-linux-gcc-3.4.1。

所以我们先要准备好的软件包有:

1. qt-x11-opensource-src-4.5.2.tar.gz;

2. qt-embedded-linux-opensource-src-4.5.2.tar.gz;

3. arm-linux-gcc-3.4.1.tar.bz2

Pc的操作系统是:LINUX-ubuntu8.04。下面是我的具体编译安装过程:

(一) Qt-4.5.2的获得:

将qt-x11-opensource-src-4.5.2.tar.gz复制到目录:/home/chh/Project/qt,然后解压:

#tar zxvf qt-x11-opensource-src-4.5.2.tar.gz

得到一个新目录:qt-x11-opensource-src-4.5.2

cd进入这个目录,准备开始编译。

在终端中这样操作:

#./configure –qvfb     //编译配置,此过程大概历时几分钟;

#make                  //正式编译,过程漫长,大概2个多小时;

#cd tools/qvfb            //进入此目录,准备对它进行编译

#make                   //编译,几分钟

#cd ../..                  //回到qt-x11-opensource-src-4.5.2主目录,准备安装

#make install        //安装,十几分钟吧;此步必须以root身份完成,否则无法建立目录

以上过程完成后,我们可以在/usr/local/下看到一个Trolltech目录,进入该目录发现Qt-4.5.2

目录已经出现,进入里面的bin目录,Designer等工具已经可以使用了。编译过程相当费时,所以可以

直接拷贝已经编译过的源码,直接make install。

至此,Qt-4.5.2的安装已经顺利完成。

(二) QtEmbedded-4.5.2-arm的获得:

在编译安装qt-embedded-linux-opensource-src-4.5.2之前,必须先配置好arm-linux-gcc,

将arm-linux-gcc-3.4.1.tar.bz2解压到目录:/usr/local下,此时local下出现一个名为arm的目录,然后配置好环境变量:在/etc/profile添加一句:export PATH=$PATH:/usr/local/arm/3.4.1/bin,保存后#source /etc/profile一下,让它即时生效。 否则下面的编译过程会提示找不到arm-linux-gcc命令。  现在可以开始编译了:

将qt-embedded-linux-opensource-src-4.5.2.tar.gz复制到目录:/home/chh/Project/qt, 然后解压:#tar zxvf qt-embedded-linux-opensource-src.tar.gz,   得到新目录qt-embedded-linux-opensource-src-4.5.2。

进入qt-embedded-linux-opensource-src-4.5.2目录,首先进行configure。 这里的参数很重要,必不可少的是-embedded arm,所以最简单的配置信息可以这样:

./configure \

-embedded arm

然后回车,就开始configure了,我的参数设置和参考文章一样,裁减了很多,减少了编译时间:

./configure \

-release \

-shared \

-fast \

-no-largefile \

-qt-sql-sqlite \

-no-qt3support \

-no-xmlpatterns \

-no-mmx \

-no-3dnow \

-no-sse \

-no-sse2 \

-no-svg \

-no-webkit \

-qt-zlib \

-qt-gif \

-qt-libtiff \

-qt-libpng \

-qt-libmng \

-qt-libjpeg \

-make libs \

-xplatform qws/linux-arm-g++ \

-nomake tools \

-nomake examples \

-nomake docs \

-nomake demo \

-no-nis \

-no-cups \

-no-iconv \

-no-dbus \

-no-openssl \

-embedded arm \

-little-endian \

-qt-freetype \

-depths 16,18 \

-qt-gfx-linuxfb \

-no-gfx-transformed \

-no-gfx-multiscreen \

-no-gfx-vnc \

-no-gfx-qvfb \

-qt-kbd-usb \

-no-glib

之后就可以编译了,#make,漫长等待后再 #make install。Make install还是需要root权限。

完成后,在/usr/local/Trolltech下多了一个目录:QtEmbedded-4.5.2-arm。

http://iwanttobe09.blog.163.com/blog/static/13178730520091041349207/

LINUX下QT FOR ARM开发环境搭建过程 (使用qt-x11-opensource-src-4.5.2.tar.gz进行编译)的更多相关文章

  1. Linux学习心得之 Linux下命令行Android开发环境的搭建

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...

  2. Qt for Android开发环境搭建及测试过程记录

    最近学习了Qt的QML编程技术,感觉相较于以前的QtGUI来说更方便一些,使用QML可以将界面与业务逻辑解耦,便于开发. QML支持跨平台,包括支持Android平台,因此可以使用Qt的QML进行An ...

  3. 基于全志H3芯片的ARM开发环境搭建

    基于全志H3芯片的ARM开发环境搭建 最近买了个友善之臂的NanoPi M1板子,又在网上申请了个NanoPi NEO板子,这两个都是基于全志H3芯片的Crotex-A7四核ARM开发板,两个板子可以 ...

  4. QT树莓派交叉编译开发环境搭建

    QT树莓派交叉编译开发环境搭建 - JerryZone <Cross-compiling Qt Embedded 5.5 for Raspberry Pi 2> <Qt for Em ...

  5. mac10.9下eclipse的storm开发环境搭建

    --------------------------------------- 博文作者:迦壹 博客地址:http://idoall.org/home.php?mod=space&uid=1& ...

  6. 《Node.js入门》CentOS 6.5下Node.js Web开发环境搭建笔记

    近期想尝试一下英特尔的基于WebRTC协同通信开发套件,所以须要在本地搭建Node.js Web的开发測试环境. 这里讲的是CentOS 下的搭建方法.使用Windows的小伙伴请參考: <No ...

  7. linux下怎么安装Go开发环境?linux部署golang

    linux下怎么安装Go开发环境?linux部署golang  0.请自行安装SSH远程工具 1.  SSH远程登录你的linux服务器 2.   yum install mercurial安装 me ...

  8. Linux下MySQL/MariaDB Galera集群搭建过程【转】

    MariaDB介绍 MariaDB是开源社区维护的一个MySQL分支,由MySQL的创始人Michael Widenius主导开发,采用GPL授权许可证. MariaDB的目的是完全兼容MySQL,包 ...

  9. Windows10系统下Hadoop和Hive开发环境搭建填坑指南

    前提 笔者目前需要搭建数据平台,发现了Windows系统下,Hadoop和Hive等组件的安装和运行存在大量的坑,而本着有坑必填的目标,笔者还是花了几个晚上的下班时候在多个互联网参考资料的帮助下完成了 ...

随机推荐

  1. 【干货】Chrome插件(扩展)开发全攻略(转)

    写在前面 我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的,所以转载务必保留出处.本文所有涉及到的大部分代码均在这个demo里面:https://github ...

  2. oracle的number的浅析

    author:skate time:2011-02-14 oracle的number的浅析 从例如以下几个方面来认识number 1.表示的数值范围   2.占用的存储空间   3.number的性能 ...

  3. 实现在 .net 中使用 HttpClient 下载文件时显示进度

    在 .net framework 中,要实现下载文件并显示进度的话,最简单的做法是使用 WebClient 类.订阅 DownloadProgressChanged 事件就行了. 但是很可惜,WebC ...

  4. 维纳过程(Wiener Process)与高斯过程(Gaussian Process)

    维纳过程又叫布朗运动过程(Brownian motion): 1. 维纳过程 维纳过程 Wt 由如下性质所描述: W0=1, a.s.(a.s.,almost surely)

  5. 解决eclipse中找不到jar包问题

    当使用eclipse导入外部的web工程时,有时会提示HttpServletRequest, ServletActionContext找不到的情况,解决办法: (注:我已经引用了struts2的jar ...

  6. 用实例讲DynamicResource与StaticResource的区别

    原文:用实例讲DynamicResource与StaticResource的区别 之前我的博客文章"WPF中的资源(Resource)"中概略性地提到过DynamicResourc ...

  7. BZOJ 1483 HNOI2009 梦幻布丁 名单+启示录式的合并

    标题效果:特定n布丁.每个人都有一个颜色布丁,所有的布丁反复有一定的颜色变化的颜色,颜色反复询问的段数 数据范围:n<=10W 色彩数<=100W 启发式合并名单0.0 从来不写清楚 实际 ...

  8. Java Swing界面编程(29)---JCheckBox事件处理

    JCheckBox和JRadioButton的事件处理监听接口是一样的,都是使用ItemListener接口. package com.beyole.util; import java.awt.Con ...

  9. Coverage数据构成

    一个Coverage数据由两个文件夹组成:一个文件夹用于存储空间几何信息,该文件夹的名称就是这个Coverage数据的名称(如下图的hnc):另一个文件夹的名字为info,它存储的为Coverage的 ...

  10. 转:PyQt4学习资料汇总 from coderzh

    一个月前研究了下PyQt4,感觉比较不错.相比wxpython,界面美观了很多,并且将界面设计与代码逻辑很好的分离了开来.关于PyQt4的资料也不少,这里我将我找到的资料汇总一下,以防自己以后忘得一干 ...