本文介绍的是Linux 下编译并安装配置 Qt,最近准备做 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、解压缩

  1. tar xvfz qt-x11-opensource-src-4.5.3.tar.gz

3、生成 makefile 文件

  1. ./configure

这个时候他会问你:“Which edition of Qt do you want to use?”

然后给你两个类型供选择:

  1. Type ''c'' if you want to use the Commercial Edition.
  2. Type ''o'' if you want to use the Open Source Edition.

第一个是商业版,第二个是自由版。

选择 ''o''(Qt/嵌入式自由版是Qt为了开发自由软件提供的嵌入式版本)。

这时候,出现许可界面。

选择  ''yes'' 接受许可协议。

开始生成 makefile 文件。这个大约需要 5 -10 分钟的时间。

4、Qt 编译

  1. 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、设置环境变量

一、先修改用户环境变量

  1. vi /home/defonds/.bashrc

在其最后添加以下信息

  1. export QTDIR=/usr/local/Trolltech/Qt-4.5.3
  2. export PATH=$QTDIR/bin:$PATH
  3. export MANPATH=$QTDIR/man:$MANPATH
  4. export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

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

  1. vi /etc/profile

在其最后添加以下信息

  1. export QTDIR=/usr/local/Trolltech/Qt-4.5.3
  2. export PATH=$QTDIR/bin:$PATH
  3. export MANPATH=$QTDIR/man:$MANPATH
  4. export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

三、测试一下

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

  1. qmake -v

输出结果:

  1. QMake version 2.01a
  2. Using Qt version 4.5.3 in /usr/local/Trolltech/Qt-4.5.3/lib

输入命令:

  1. which qmake

输出结果:

  1. /usr/local/Trolltech/Qt-4.5.3/bin/qmake

证明 Qt 环境变量已经被配置成功。

编者按 :

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

开始 Qt

写个简单的 Qt 程序使用安装的 Qt 编译来测试一下它的工作效果

新建一个文件名为 hello.cpp,其内容如下:

  1. view plaincopy to clipboardprint?#include <QApplication>
  2. #include <QLabel>
  3. int main(int argc,char *argv[])
  4. {
  5. QApplication app(argc,argv);
  6. QLabel *label = new QLabel("Hello Qt!");
  7. label->show();
  8. return app.exec();
  9. }
  10. #include <QApplication>
  11. #include <QLabel>
  12. int main(int argc,char *argv[])
  13. {
  14. QApplication app(argc,argv);
  15. QLabel *label = new QLabel("Hello Qt!");
  16. label->show();
  17. return app.exec();
  18. }

保存 hello.cpp,编译过程如下:

在 hello.cpp 所在目录下,运行命令

  1. qmake -project

hello.cpp 同目录下有 hello.pro 文件被生成,它是与平台无关的工程文件。

在 hello.cpp 所在目录下,运行命令

  1. qmake hello.pro

同目录下有 Makefile 文件被生成(Makefile是指导编译器编译源代码的配置文件,在其目录下输入make命令(nmake在win32,vc6环境)就可以完成编译)。在 hello.cpp 所在目录下,运行命令

  1. make

同目录下有 hello,hello.o 两个文件被编译生成。其中 hello 就是在当前 Linux 系统下使用 Qt 编译生成的可执行文件了。双击运行 hello,“Hello Qt!“ 文本框弹出,OK!做到这一步,证明 Qt 已经完全可以在你的电脑上运作了。还等什么呢,开始你精彩而又愉快的 Qt 开发之旅吧!

小结:关于Linux 下编译并安装配置 Qt (完整版)的内容介绍完了,希望本文对你有所帮助!

Linux 下编译并安装配置 Qt相关推荐

  1. linux qt编译命令,Linux 下编译并安装配置 Qt 全过程

    Linux 下编译并安装配置 Qt 全过程 1.获得源代码 src 官网下载地址:ftp://ftp.qt.nokia.com/qt/source/ 2009 年 10 月 1 日发布的 qt-x11 ...

  2. Linux下NDK的安装配置

    Linux下NDK的安装配置 在编写android程序的时候如果需要复用一部分以前的c语言程序,可以考虑使用NDK.由于设计到c和c++编程,故强烈建议在Linux下安装上eclipse的CDT插件. ...

  3. Linux下Tomcat的安装配置

    Linux下Tomcat的安装配置 一.下载安装对应的jdk,并配置Java环境. 官网下载地址: http://www.oracle.com/technetwork/java/javase/down ...

  4. linux下pptpd的安装配置(×××)

    linux下pptpd的安装配置(×××)--单网卡×××实现 (本文部分内容摘自互联网,特此声明!)          环境介绍:Linux(redhat) 2.6.18 +PPP+PPTPD    ...

  5. linux下编译和安装log4cxx,Linux下log4cxx的安装使用

    Linux下log4cxx的安装使用2011-06-12 13:51:45 分类: C/C++ 一.下载 Log4cxx是开放源代码项目Apache Logging Service的子项目之一,用于为 ...

  6. linux下DHCP的安装配置

    今天在整理以前的资料的时候,看到了这篇过去积攒的资料,过程详细所以拿来给大家一块分享,同时我也在做,提高一下熟练度. [实验名称]Linux下DHCP服务的配置与安装 [实验拓扑] [实验目标] 了解 ...

  7. linux subversion 根目录检出,经验总结:详解Linux下Subversion的安装配置记录 下

    上节介绍额Linux下Subversion的安装问题,本节介绍Linux下Subversion配置问题,你可以和Windows下Subversion的安装配置做一个对比,你就会发现在这两种操作系统中S ...

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

    打算做嵌入式图像处理,计划方案嵌入式Linux+OpenCV+QT,昨天简单入门OpenCV今天看看QT,QT就先弄Linux下面的,回家之前争取把基本的摸通,然后能在板子上跑起来. 软件环境 Lin ...

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

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

最新文章

  1. EXTJS 常用控件的使用
  2. ubuntu系统安装mysql(deb-bundle包)
  3. Javascript事件委托
  4. ARMV7,ARMV8
  5. 移动端页面字体在微信被放大,导致排版错乱
  6. 三星CEO承认:可折叠智能手机Galaxy Fold开卖得太着急
  7. java udp多线程服务器_UDP服务端多线程-----
  8. 电信基站大区对应表_铁塔基站直流电能表 直流计量表
  9. 知识图谱构建技术总述
  10. 指纹识别传感器技术演变历程
  11. 连接服务器显示句柄无效,win10打印机句柄无效怎么解决?_网站服务器运行维护,win10,打印机,句柄无效...
  12. 计算机病毒无法破坏压缩文件,求解压缩文件拒绝访问是怎么回事?
  13. C语言复习 随手写3
  14. 融云 java_融云开发者文档
  15. 自阿里P8爆出1031道java面试题后,我在boss直聘狂拿千份Offer
  16. Linux内核发布时间表
  17. 【整理学习Hadoop】Hadoop学习基础之一:服务器集群技术
  18. 数据挖掘实战—商品零售购物篮分析
  19. 网络技巧:手机信号满格,上网却很慢,教你关闭双频优选开关,网速飞快
  20. 安卓开发——tcp连接

热门文章

  1. c语言编写pdf,编写并运行C语言程序.pdf
  2. 在循环里创建数据库连接,严重影响数据库性能
  3. java spring注入 静态方法_java相关:spring为类的静态属性实现注入实例方法
  4. centos安装多个tomcat
  5. Leetcode143. Reorder List重排链表
  6. 六、表达式:前缀后缀
  7. 581. Shortest Unsorted Continuous Subarray连续数组中的递增异常情况
  8. JavaScript——执行环境、变量对象、作用域链
  9. Tensorflow模型加载与保存、Tensorboard简单使用
  10. JPA中的@MappedSuperclass