最近准备做 Nokia 的 Symbian,Maemo 下触摸屏开发。考虑到程序的跨平台可移植性,最终选择使用 Qt 开发。相对来说,国内关于 Qt 相关文档并不算很多。作者将 Linux 下编译并安装配置 Qt 全过程总结了一下,只希望可以方便更多的朋友!

1。获得源代码 
        src 官网下载地址:ftp://ftp.qt.nokia.com/qt/source/
        2009 年 10 月 1 日发布的 qt-x11-opensource-src-4.5.3.tar.gz,大小 122 Mb。

2。解压缩 
        tar xvfz qt-x11-opensource-src-4.5.3.tar.gz

3。生成 makefile 文件 
        ./configure
        这个时候他会问你:“Which edition of Qt do you want to use?”
        然后给你两个类型供选择:
        Type 'c' if you want to use the Commercial Edition.
        Type 'o' if you want to use the Open Source Edition.
        第一个是商业版,第二个是自由版。
        选择 'o'(Qt/嵌入式自由版是Qt为了开发自由软件提供的嵌入式版本)。
        这时候,出现许可界面。
        选择  'yes' 接受许可协议。
        开始生成 makefile 文件。这个大约需要 5 -10 分钟的时间。

4。Qt 编译 
        gmake
        这个过程时间比较长,需要两个小时左右。

5。Qt 安装 
        运行 gmake install
        默认安装至 /usr/local/Trolltech/Qt-4.5.3
        大约 5 - 10 分钟。正常结束,安装完毕。
        运行 /usr/local/Trolltech/Qt-4.5.3/bin/designer ,看见 qt 启动,也就是说 qt 安装好了。

6。设置环境变量

一。先修改用户环境变量

vi /home/defonds/.bashrc

在其最后添加以下信息

export QTDIR=/usr/local/Trolltech/Qt-4.5.3
        export PATH=$QTDIR/bin:$PATH
        export MANPATH=$QTDIR/man:$MANPATH
        export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

二。再修改所有用户环境变量

vi /etc/profile
        在其最后添加以下信息
        export QTDIR=/usr/local/Trolltech/Qt-4.5.3
        export PATH=$QTDIR/bin:$PATH
        export MANPATH=$QTDIR/man:$MANPATH
        export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

三。测试一下

重新开一个终端,输入命令:

qmake -v

输出结果:

QMake version 2.01a
        Using Qt version 4.5.3 in /usr/local/Trolltech/Qt-4.5.3/lib
        输入命令:

which qmake

输出结果:

/usr/local/Trolltech/Qt-4.5.3/bin/qmake
        证明 Qt 环境变量已经被配置成功。

编者按 :

Linux 启动时,先读取用户环境变量,即 /home/defonds/.bashrc 的设置。次读取所有用户环境变量,即 /etc/profile 中的配置。

开始 Qt

写个简单的 Qt 程序使用安装的 Qt 编译来测试一下它的工作效果
        新建一个文件名为 hello.cpp,其内容如下:
#include <QApplication> #include <QLabel> int main(int argc,char *argv[]) { QApplication app(argc,argv); QLabel *label = new QLabel("Hello Qt!"); label->show(); return app.exec(); } 
        保存 hello.cpp,编译过程如下:
        在 hello.cpp 所在目录下,运行命令
        qmake -project
        hello.cpp 同目录下有 hello.pro 文件被生成,它是与平台无关的工程文件。
        在 hello.cpp 所在目录下,运行命令
        qmake hello.pro
        同目录下有 Makefile 文件被生成(Makefile是指导编译器编译源代码的配置文件,在其目录下输入make命令(nmake在win32,vc6环境)就可以完成编译)。
        在 hello.cpp 所在目录下,运行命令
        make
        同目录下有 hello,hello.o 两个文件被编译生成。其中 hello 就是在当前 Linux 系统下使用 Qt 编译生成的可执行文件了。双击运行 hello,“Hello Qt!“ 文本框弹出,OK!做到这一步,证明 Qt 已经完全可以在你的电脑上运作了。还等什么呢,开始你精彩而又愉快的 Qt 开发之旅吧!

http://www.itboth.com/d/Z3YVJv/makefile-library-path-linux-qt

Linux 下编译并安装配置 Qt 4.53全过程的更多相关文章

  1. Linux 下编译、安装、配置 QT

    转自Linux 下编译.安装.配置 QT 注意:编译安装耗时费力,且很容易出错,要不断调整编译参数,不推荐使用,否则这将会是一个纠结痛苦的过程. 打算做嵌入式图像处理,计划方案嵌入式Linux+Ope ...

  2. Linux下Kafka单机安装配置方法(图文)

    Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了 ...

  3. Linux下Kafka单机安装配置方法

    Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计.这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语: •Kafka将消息以topi ...

  4. Linux下编译boost库和qt和ImageMagick

    需要把整个PCIE的工程移植到Linux下,当初就是用cmake来管理的工程的.但是命令行之类的还是需要改动.改动还不少,cmake里面很多东西都依赖于windows.包括我用cmake重新管理的工程 ...

  5. (0.2)linux下Mysql的安装配置与管理入门(目录篇)

    本章学习内容: 1.基于Linux平台的Mysql项目场景介绍 1.1.互联网各类网站.购物网站.门户网站.博客系统.IDC,云平台,VPS,虚拟主机空间,论坛,嵌入式. 2.mysql数据库运行环境 ...

  6. Linux下编译、安装php

    一.apache环境下php的安装步骤如下:[注意:编译安装php前,应先安装好apache,因为编译php时要用到apache的路径] 1. 在http://www.php.net/download ...

  7. Linux下DHCP服务安装配置

    简介 安装配置 一.简介 DHCP (Dynamic Host Configuration Protocol,动态主机管理协议)是一种基于UDP协议且仅限用于局域网的网络协议,主要用途是为局域网内部设 ...

  8. Linux下的Mysql安装 & 配置

    Hive的数据,是存在HDFS里的.此外,hive有哪些数据库,每个数据库有哪些表,这样的信息称之为hive的元数据信息. 元数据信息不存在HDFS里.而是存在关系型数据库里,hive默认用的是der ...

  9. linux 下ftp的安装配置 图文教程

    0.安装ftp的前置条件是关掉SElinux # vi /etc/selinux/config 修改 SELINUX=” disabled ” ,重启服务器.若相同,则跳过此步骤. 1. 可先查看是否 ...

随机推荐

  1. Spring boot(三) springboot 定时任务

    这个不多说,springboot 定时任务非常简单就可以实现了. 30s运行一次 , @Scheduled(cron="0,30 * * * * ?") 通过这个控制定时时间 cr ...

  2. Java fork join ForkJoinPool 用法例子

    本例是把一个大的数组求和的计算的大任务分解到在小范围内求和的小任务,然后把这些小任务之和加起来就是所求之结果. 技术:JDK8.0, Javafork-join模式下的RecursiveTask技术, ...

  3. The trust relationship between this workstation and the primary domain failed(断网可以登进来)(正确的解决方式用管理员登进去 :退域再加域)

    The trust relationship between this workstation and the primary domain failed(断网可以登进来)(正确的解决方式用管理员登进 ...

  4. html5 背景音乐 js控制播放 暂停

    <html> <head> <title> 测试页面 </title> <script src="jquery.min.js" ...

  5. 【死磕Java并发】—–J.U.C之AQS(一篇就够了)

    [隐藏目录] 1 独占式 1.1 独占式同步状态获取 1.2 独占式获取响应中断 1.3 独占式超时获取 1.4 独占式同步状态释放 2 共享式 2.1 共享式同步状态获取 2.2 共享式同步状态释放 ...

  6. 批量解决 word/wps 中公式和文字不对齐的问题

    完美解决Word或wps中中公式和文字对不齐的问题 在 word 的各个版本中,当公式和字符同时出现时,尤其是发生公式的拷贝粘贴时,公式往往会出现上飘或下移的情况,这里给出一个简单易行的解决方案: 全 ...

  7. 从0到1打造直播 App(直播流程介绍整理 <mark><转>)

    注明:原创 2016-10-27 李智文 腾讯Bugly 概要 分享内容: 互联网内容载体变迁历程,文字——图片/声音——视频——VR/AR——……..从直播1.0秀场时代(YY),2.0游戏直播(斗 ...

  8. Redis的增删改查、持久化你会了吗

    原文:Redis的增删改查.持久化你会了吗 Redis是用C语言实现的,一般来说C语言实现的程序"距离"操作系统更近,执行速度相对会更快. Redis使用了单线程架构,预防了多线程 ...

  9. BZOJ3073 Journeys - 线段树优化建边

    传送门 题意: Seter建造了一个很大的星球,他准备建造N个国家和无数双向道路.N个国家很快建造好了,用1..N编号,但是他发现道路实在太多了,他要一条条建简直是不可能的!于是他以如下方式建造道路: ...

  10. spark 2.0.2 集群搭建

    由于之前已经搭建过hadoop相关环境,现在搭建spark的预备工作只有scala环境了 一,配置scala环境 1.解压tar包后,编辑/etc/profile 2.source /etc/prof ...