1.到官网http://qt-project.org/downloads或者ftp://ftp.qt-project.org/上下载Qt的源码包,要安装当然要先有源码咯,我下载的是qt-everywhere-opensource-src-4.8.1.tar.gz。当然可以下载X11版的。这里我是方便在windows也搭建环境。linux下有自带的gcc,不像windows那么麻烦,还得安装minGW。当然我直接用VS2008集成的。

2.到终端中,先执行sudo apt-get install build-essential安装g++和make,否则第五步会出错。其实直接sudo apt-get install g++也行,我就是这么干的。

3.进入源码包所在的目录,使用tar xvzf 命令解压下载的Qt源码包。

4.这一步很重要,执行sudo apt-get install libX11-dev libXext-dev libXtst-dev命令安装这三个软件。Ubuntu在安装时默认不装的。如果不装,下一步进行到一半会出错。

5.进入解压后的目录,在终端运行./configure,然后选择安装类型,输入O表示开源版。然后输入yes表示接受GPL协议。此时开始进行配置产生makefile文件。此过程会很长,可以去晚会再回来。

6.当configure完成后,Qt会默认安装到/usr/local/Trolltech/Qt-4.8.1文件夹下。这里就不更改了,不知道改一下会出现什么错误。还是别改了,接着运行make,等待编译Qt。这个过程也不短,可以去找妹子聊会天。

7.当make完成后,运行一下sudo make install。

8.到这一步,Qt算是安装完成了。接下来配置环境变量。记得我当时改动了系统环境变量,结果系统无法启动了,最后在恢复模式下,把配置文件改回来才启动的。其实,只要改一下用户环境变量就行了。具体方法是,回到用户主目录,输入sudo gedit .profile。然后在后面加上

PATH=/usr/local/Trolltech/Qt-4.8.1/bin:$PATH

export PATH

就OK了。而且使用vi命令好像不能修改,我试过的。你可以试试看。当然,貌似不使用sudo命令,还无法修改文件。自己去试试看。重启机器,使更改生效。

9.到此Qt安装完毕。到终端中运行qmake -version命令,弹出相应的信息,说明安装成功了。接下来就可以进行Qt开发了。

写个程序测试一下,新建立一个文件夹HelloWorld。

打开终端里面新建一个HelloWorld.cpp文件,并vi打开文件,输入以下内容:

#include<qapplication.h>

#include<qlabel.h>

int main(int argc,char *argv[])

{

QApplication app(argc,argv);

QLabel *label=new QLabel("Hello World!!!");

label->show();

return app.exec();

}

写完上面的代码后保存退出(:wq)vi编辑器。

然后进入HelloWorld文件夹。依次执行以下命令:

qmake -project

qmake HelloWorld.pro

make

./HelloWorld

程序正常的话,你会看到对话框显示“HelloWorld!!!”

10.当然,要想使用更方便,也可以按装Qt Creator。不过我感觉刚刚学还是命令行比较好。记得《疯狂JAVA讲义》的作者李刚,不是“我爸是李刚”的“李刚”说过一句话,用IDE(集成开发环境)学JAVA,永远学不会真正的编程,因为集成开发环境帮你干了太多的事情了,你根本不了解最底层是如何运作的,出现问题你也不知道哪里出问题了。不过,Qt Creator可以先装在那里备用。接下来就是开发学习之旅。

Linux编译源码的方式安装Qt4开发环境(基于Ubuntu系统)的更多相关文章

  1. spark最新源码下载并导入到开发环境下助推高质量代码(Scala IDEA for Eclipse和IntelliJ IDEA皆适用)(以spark2.2.0源码包为例)(图文详解)

    不多说,直接上干货! 前言   其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来. 本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程. ...

  2. CentOS7下源码包方式安装Erlang

    1.官网上下载源码包:OTP 19.1 Source File 2.把源码放在source目录中 , 解压 :tar -zxvf otp_src_19.1.tar.gz [或者 直接下载 rpm包 e ...

  3. linux 编译源码报错,找不到libXrender.so.1

    1.通过xshell连接到服务器编译hadoop源码得时候遇到问题, 2.使用Xshell的时候登陆后的环境变量中会比SecureCRT登陆后的环境变量多出一条 DISPLAY=localhost:1 ...

  4. CentOS7下源码包方式安装rabbitmq

    1.先安装erlang http://www.cnblogs.com/justphp/p/6093880.html 2.下载rabbitmq rpm包: wget http://www.rabbitm ...

  5. openfire4.0.2源码 使用 IntelliJ IDEA 搭建开发环境

    从官网下载压缩包,解压,直接打开build目录下的project 打开后, 相关的设置 fix直接修复或者下载 设置 设置每个插件目录下的java目录为source 编译openfire和plugin ...

  6. linux下源码安装jdk1.8和tomcat8.5

    Java是目前可移植性较高的语言,相当火热,tomcat运行就需要Java语言环境 0.java简介 1)tomcat运行需要对应的Java环境,Java环境通过安装jdk来获得2)为了防止兼容性问题 ...

  7. Centos7服务器中通过编译源码安装MySQL

    基于在Centos7服务器上使用 yum 安装MySQL5.7到默认路径 在修改文件存储位置的时候,折腾了一番没有将成功将datadir修改为我想要的位置 我决定再尝试一下通过编译源码来自定义安装: ...

  8. LINUX下编译源码时所需提前安装的常用依赖包列表

    yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-deve ...

  9. Linux 从源码编译安装 OpenSSH

    https://blog.csdn.net/bytxl/article/details/46639073 Linux 从源码编译安装 OpenSSH以及各问题解决 2015年06月25日 17:37: ...

随机推荐

  1. 概率DP

    POJ 3744 Scout YYF I 这就是一个乱搞题,暴力发现TLE了,然后看了看discuss里说可以矩阵加速,想了一会才想明白怎么用矩阵,分着算的啊.先算f[num[i]-1]之类的,代码太 ...

  2. C#_Express-ickd接口

    爱查快递接口使用 using System; using System.Collections.Generic; using System.IO; using System.Net; using Sy ...

  3. 2016huasacm暑假集训训练四 数论_B

    题目链接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/G 题意:求有多少x(1<=x<=n),使得gcd(x,n)>=m ...

  4. 浅谈iOS触摸事件理解

    iOS的触摸事件个人总结,分为两步: 第一步:是找到哪个视图上触摸 第二步:分析由谁去响应(响应者连) 1.寻找被触摸的视图原理如下图 hitText:withEvent:的方法处理流程: 首先会在当 ...

  5. ASM 磁盘头信息备份

    ASM磁盘头信息保存在每个磁盘的前4K里面,这个信息的备份对于ASM的恢复非常重要,有下面的几种方 1.直接做dd来备份磁盘的前4K,磁盘头信息丢失时,dd回来 备份:dd if=/dev/raw/r ...

  6. ssh的原理和流程

    一.strtus:第1步:把上面的jar包下载完成后,先在eclipse中新建一个web工程,新建工程的同时最好选上创建的同时添加web.xml文件 第2步:找到下载并解压好的strtus文件中找到a ...

  7. Ubuntu apt-get "Hash Sum mismatch" 问题解决方法

    参考:ubuntu: apt-get update的时候遇到"Hash Sum mismatch"错误 在安装Mininet的时候,apt-get update的时候遇到了这个问题 ...

  8. 多线程获取不到HttpContext

    问题一:多线程下获取文件绝对路径 当我们使用HttpContext.Current.Server.MapPath(strPath)获取绝对路径时HttpContext.Current为null,解决办 ...

  9. ife任务刷题总结(一)-css reset与清除浮动

    本文同时发布于本人的个人网站www.yaoxiaowen.com 百度创办的前端技术学院,是一个面向大学生的前端技术学习平台.虽然只有大学生才有资格报名,提交代码进行比赛排名.但是这并不妨碍我们这些初 ...

  10. GIT 配置管理

    git版本控制开发流程小结笔记(一) 收藏                                                                     何良瑞Nyanko君 ...