Ubuntu下QT的安装详细教程

本文转自:http://blog.chinaunix.net/uid-7945126-id-4987195.html

经测试完美解决

-------------------------------------------------------------

最近需要在Ubuntu下开发桌面软件,想起了QT。书上介绍的方法太老了,网上找了一大堆安装方法,都或多或少有各种问题,以下是我自己摸索出来的与大家分享!另外不建议大家现在用QT5,参考资料不多,建议初学者先从QT4学起。本文写作时间是2013年11月份。


本文使用的环境:

QT Library: 4.8.1http://download.qt-project.org/archive/qt/4.8/4.8.1/qt-everywhere-opensource-src-4.8.1.tar.gz

QT Creator:2.4.1http://download.qt-project.org/archive/qtcreator/2.4/qt-creator-linux-x86-opensource-2.4.1.bin

Ubuntu:10.04.4http://old-releases.ubuntu.com/releases/10.04.0/ubuntu-10.04.4-desktop-i386.iso


安装QT分为两步,第一步是QT Library的安装,第二步是QT Creator的安装,QT Creator是QT的集成开发环境。

第一步   安装QT Library:

1、诺基亚把QT卖给Digia后,QT商业版和开源版就分开了,开源版全部放在QT Project网站上,从该网站下载qt-everywhere-opensource-src-4.8.1.tar.gz。可以在Ubuntu里面使用Firefox浏览器下载,默认下载目录是/home/your name/Downloads,使用终端cd到Downloads目录,然后使用命令


[plain] view plaincopy
print?在CODE上查看代码片派生到我的代码片
  1. tar xzvf qt-everywhere-opensource-src-4.8.1.tar.gz  

解压软件包,解压完后,cd到该目录


[plain] view plaincopy
print?在CODE上查看代码片派生到我的代码片
  1. cd qt-everywhere-opensource-src-4.8.1  


2、我的电脑在Ubuntu 10.04.4环境下,没有安装g++,编译QT要用到g++,所以首先安装g++,使用apt-get命令安装g++,


[plain] view plaincopy
print?在CODE上查看代码片派生到我的代码片
  1. sudo apt-get install g++  


3、 然后需要安装libX11-dev libXext-dev libXtst-dev这三个包,这点非常重要,很多朋友因为没有安装这三个包而出现以下错误,


[plain] view plaincopy
print?在CODE上查看代码片派生到我的代码片
  1. Basic XLib functionality test failed!  
  2. You might need to modify the include and library search paths by editing  
  3. QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /home/your name/Qt/qt-x11-opensource-src-4.8.1/mkspecs/linux-g++  

使用apt-get安装这三个包,


[plain] view plaincopy
print?在CODE上查看代码片派生到我的代码片
  1. sudo apt-get install libX11-dev libXext-dev libXtst-dev  


4、 如果你的Ubuntu已经安装g++和libX11-dev libXext-dev libXtst-dev,可以跳过2,3两步。在进入qt-everywhere-opensource-src-4.8.1目录后,使用如下命令配置QT Library,


[plain] view plaincopy
print?在CODE上查看代码片派生到我的代码片
  1. ./configure  

注意不能直接输入configure,必须加上 "./" 才可以。然后终端会出现让你选择商业版还是开源版,输入字母o选择开源版。然后会有协议让你接受,输入yes就OK啦。


5、经过漫长地等待后,终端会出现如下信息,

[plain] view plaincopy
print?在CODE上查看代码片派生到我的代码片
  1. Qt  is now configured for building ,just run 'make'  
  2. Once everything is built , you must run 'make  install'  
  3. Qt will be installed into /usr/local/Qt-4.8.1  
  4. To  reconfigure ,run 'make confclean' and 'configure'  

然后输入make,这样会生成QT库,同时编译所有演示程序。


[plain] view plaincopy
print?在CODE上查看代码片派生到我的代码片
  1. make  


6、 QT编译完成后,输入make install来安装QT,注意make install需要root权限,所以要加sudo。


[plain] view plaincopy
print?在CODE上查看代码片派生到我的代码片
  1. sudo make install  


7、 经过漫长等待,QT安装完毕后,首先进入QT安装目录测试QT是否安装成功,QT默认安装在/usr/local/Trolltech/Qt-4.8.1目录里面,所以先进入该目录,


[plain] view plaincopy
print?在CODE上查看代码片派生到我的代码片
  1. cd /usr/local/Trolltech/Qt-4.8.1  

然后在进入qmake所在的bin文件夹,


[plain] view plaincopy
print?在CODE上查看代码片派生到我的代码片
  1. cd bin  

然后输入qmake,如果出现正常的信息,则表明QT已经安装成功。或者输入以下指令,


[plain] view plaincopy
print?在CODE上查看代码片派生到我的代码片
  1. qmake -v  

如果出现正确的版本信息,则表示安装成功了。


8、接下来要设置环境变量,设置环境变量的目的是为了在任何目录下都可以使用QT。首先需要设置用户环境变量,

[plain] view plaincopy
print?在CODE上查看代码片派生到我的代码片
  1. gedit /home/your name/.bashrc   

然后会弹出一个编辑窗口,在末尾添加以下代码,


[plain] view plaincopy
print?在CODE上查看代码片派生到我的代码片
  1. export QTDIR=/usr/local/Trolltech/Qt-4.8.1   
  2. export PATH=$QTDIR/bin:$PATH   
  3. export MANPATH=$QTDIR/man:$MANPATH   
  4. export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH  

然后设置root用户的环境变量,设置root用户的环境变量需要root权限,所以要加sudo,


[plain] view plaincopy
print?在CODE上查看代码片派生到我的代码片
  1. sudo gedit /etc/profile  

然后会弹出一个编辑窗口,在末尾添加以下代码,


[plain] view plaincopy
print?在CODE上查看代码片派生到我的代码片
  1. export QTDIR=/usr/local/Trolltech/Qt-4.8.1   
  2. export PATH=$QTDIR/bin:$PATH   
  3. export MANPATH=$QTDIR/man:$MANPATH   
  4. export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH  


保存后退出,然后重启电脑。


9、重启电脑后,打开终端在任意目录下输入qmake,如果能出现正确信息,则表明环境变量已经配置成功。



第二步   安装QT Creator:


相比QT Library,QT Creator的安装要简单的多,我们下载的bin文件是可执行文件,安装时会出现像在Windows下的界面,安装路径默认就可以了。使用终端cd到Downloads目录,首先修改bin文件的权限使其具有可执行的权限,


[plain] view plaincopy
print?在CODE上查看代码片派生到我的代码片
  1. chmod a+x qt-creator-linux-x86-opensource-2.4.1.bin  

然后输入以下命令安装bin文件,


[plain] view plaincopy
print?在CODE上查看代码片派生到我的代码片
  1. ./qt-creator-linux-x86-opensource-2.4.1.bin  


至此,QT已经安装完毕,打开桌面上的QT Creator来运行一个demo测试吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/383389.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux_linux常用工具---闲杂篇(除了vim, 还有哪些常用的牛逼的编辑器, 并能够横向对比编辑器之间的区别和优缺点.)

vim自行查找资料, 自行配置插件. 借鉴别人的 " 显示相关 “”""""""""""""""""""""""""""""""""&…

ubuntu14.04下安装qt4.8.6 +qt creator

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://248341.blog.51cto.com/238341/1438867以前安装时没太注意,安装qt后发现在qt creator下无法输入中文,或者中文无法…

网络基础一(协议的概念,网络应用程序设计模式)

协议的概念 什么是协议? 从应用的角度出发,协议可理解为“规则”,是数据传输和数据的解释的规则。 假设,A、B双方欲传输文件。规定: 第一次,传输文件名,接收方接收到文件名,应答OK…

ubuntu修改root密码

sudo passwd root [sudo] password for you :---> 输入你的密码,不会显示 Enter new UNIX password: --- > 设置root 密码 Retype new UNIX password: --> 重复

linux 消息队列机制

现在我们来讨论第三种也是最后一种System V IPV工具:消息队列。在许多方面看来,消息队列类似于有名管道,但是却没有与打开与关闭管道的复杂关联。然而,使用消息队列并没有解决我们使用有名管道所遇到的问题,例如管道上…

堆(概念,数据结构中堆与内存堆区的区别 ,堆的基本操作)

堆的特性: 必须是完全二叉树 用数组实现 任一结点的值是其子树所有结点的最大值或最小值 最大值时,称为“最大堆”,也称大根堆; 在完全二叉树中,任何一个子树的最大值都在这个子树的根结点。最小值时,称为…

makefile中的shell调用---注意事项

在之前一次编写makfile时候,有看到相关的makefile中使用$$来引用变量,而且尝试后发现$$使用居然和${}有类似的功能。当时也没具体追究相关的用法,当然刚才所说的都是错误的观念 $$:在makefile中会被替换成一个$。 相关资料是这么描…

网络基础2(分层模型,通信过程,以太网,ARP协议格式和具体功能详解)

分层模型 OSI七层模型 OSI模型 1 物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0&#…

为github帐号添加SSH keys

使用git clone命令从github上同步github上的代码库时,如果使用SSH链接(如我自己的beagleOS项目:gitgithub.com:DamonDeng/beagleOS.git),而你的SSH key没有添加到github帐号设置中,系统会报下面的错误&…

网络基础3(IP段格式,UDP数据报格式,TCP数据报格式)

IP段格式 IP数据报的首部长度和数据长度都是可变长的,但总是4字节的整数倍。 对于IPv4,4位版本字段是4。4位首部长度的数值是以4字节为单位的,最小值为5,也就是说首部长度最小是4x520字节,也就是不带任何选项的IP首部…

Linux 开发路线

Linux 开发路线: 使用 linux—〉linxu 系统编程开发---〉驱动开发和分析 linux 内核 开始学 linux 内核:最好有三件宝物:《深入理解 linux 内核》《LINUX内核源代码情景分析》和源代码。 《深》是纲,《情》是目。最后深入代码 Linux 内核原理:比较浅显…

堆的应用(堆排序,TopK问题)

堆的应用 1)排序 堆排序 选择排序 既可以找到最大的放在最后 也可以找到最小的方最前 但是,堆排序不能找最小的放在最前 因为把最小数放在最前,会破坏掉堆的原来的顺序,除非重新建堆 1, 2,9&#xff0c…

有名管道和无名管道的区别

1)无名管道:管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程)。 单独构成一种独立的文件系统:管道…

网络基础4(TCP三次握手,四次握手,TCP流量控制,TCP状态转换 , TCP异常断开,设置TCP属性,端口复用)

TCP协议 TCP通信时序 下图是一次TCP通讯的时序图。TCP连接建立断开。包含大家熟知的三次握手和四次握手。 TCP通讯时序 在这个例子中,首先客户端主动发起连接、发送请求,然后服务器端响应请求,然后客户端主动关闭连接。 两条竖线表示通讯的…

linux编程手册读书笔记第一章(20140329)

(2)管道、FIFO、套接字、设备(比如终端、伪终端)都支持非阻塞模式。(因为无法通过open()来获取管道和套接字的文件描述符。所以要启用非阻塞标志,就必须使用fcntl(&#…

排序(基本概念及分类,直接插入排序和希尔排序)

排序的概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序&a…

Linux编程手册读书笔记第二章(20140330)

内核:管理和分配计算机资源(即CPU、RAM和设备)的核心软件层Linux内核可执行文件采用/boot/vmlinuz或类似的路径名,“z”表明内核是经过压缩的可执行文件。内核主要任务: (1&#xff…

直接交换排序

直接交换排序 缺点:进行一些重复性比较,解决放法:堆排序 选择排序优化 //如果当前的数大于假定最大的数 //改变下标 //如果当前的数小于假定最小的数 //改变下标 //遍历数组跳到下一个元素 //如果最大的数没有在它的位置上 //交换 //交换…

Linux编程手册读书笔记第三章(20140407)

外壳函数执行一条中断机器指令(int 0x80),引发处理器从用户态切换到核心态,并执行系统中断0x80的中断矢量所指向的代码。(在2.6内核及glib 2.3.2之后的版本都支持sysenter指令,进入内核的速度更快&#xff…

Linux编程手册读书笔记第四章(20140407)

标准文件描述符定义在<unistd.h>中&#xff0c;STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO打开一个文件&#xff1a;open&#xff08;&#xff09; &#xff03;include<sys/stat.h> #include<fcntl.h> int open(const char *pathname, int flags, …/* …