最近准备做 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. linux下如何获取每个线程的CPU占用率

    啥也不说,直接上脚本: root@Storage:/mnt/mtd# cat cpu.sh #!/bin/sh while truedo        ps -H -eo user,pid,ppid, ...

  2. stm32 DMA+timer+DAC

    是有延迟的:

  3. .NET Framework基础知识(五)(转载)

    .程序集:是 .NET Framework 应用程序的构造块:程序集构成了部署.版本控制.重复使用.激活范围控制和 安全权限的基本单元. .程序集的优点:版本控制问题.最终解决DLL冲突 .程序集分为 ...

  4. ios开发图片轮播器以及定时器小问题

    一:图片轮播器效果如图:能实现自动轮播,到最后一页时,轮播回来,可以实现拖拽滚动 二:代码: #import "ViewController.h" ; @interface Vie ...

  5. 授人玫瑰 手留余香 --纪念python3.2.3官方文档翻译结束

    当你点击看到这篇文章的时候.你已经得到了祝福. 一个来自夜深人静的码农,在2014年5月19号的01:18分.默默为你献上祝福. 希望你.我和他,每个在IT行业中奋斗的人.能找到属于自己一片天空. 在 ...

  6. 如何去掉windows2003的自动锁定(每离开一会都会出现这个界面,不想让它出现)

    http://zhidao.baidu.com/link?url=SOCv57C-hX_3f0Xl0J0RFIVXpowXk73zdQd2B-wMUzYOm5E_N397bw_UkX4uLPlAiWQ ...

  7. mysqldump --single-transaction 和--lock-tables参数详解

    mysqldump的备份原理 mysqldump在备份过程中,是采用查询备份相关表的数据,然后导出,拼接成insert语句的形式进行备份.   关于--single-transaction 和--lo ...

  8. [.NET Core 24]把project.json迁移到.csproj

    链接:https://blog.jetbrains.com/dotnet/2017/04/04/rider-eap-update-csproj-based-net-core-support-migra ...

  9. 与Qt的联系方式:邮件,论坛,销售,Bug报告

    If you want to learn more about upcoming things for Qt, please stay tuned for new blog posts and web ...

  10. 深度学习基础(十二)—— ReLU vs PReLU

    从算法的命名上来说,PReLU 是对 ReLU 的进一步限制,事实上 PReLU(Parametric Rectified Linear Unit),也即 PReLU 是增加了参数修正的 ReLU. ...