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. 【Unity3d游戏开发】UGUI插件入门之游戏菜单

    ugui是unity4.6开始加入的一个新的ui系统,非常强大,下面我们将通过一系列博客的方式一起来学习一下ugui的使用.本篇博客会介绍如何使用ugui制作一个游戏菜单,并且了解如何让物体与ugui ...

  2. mongodb用子文档做为查询条件的两种方法

    { "_id": ObjectId("52fc6617e97feebe05000000"), "age": 28, "level& ...

  3. 通过Gulp使用Browsersync实现浏览器实时响应文件更改

    Gulp是什么鬼 Browsersync又是什么鬼 如何安装使用Browsersync 安装 使用 效果图 参考 Gulp是什么鬼 Gulp是一种基于node.js的构建工具,有关构建工具的概念请移步 ...

  4. 畅通工程续——E

    E. 畅通工程续 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多.这让 ...

  5. js中的数据类型

    JS中的数据类型: ——数字  (number)NaN ——字符串(string) ——布尔  (boolean)——函数  (function)     也是对象的一种 ——对象  (object) ...

  6. javascript创建跟随鼠标好玩的东西

    不说话,直接上代码. css: #createGoDivBox{ display: none; } #createGoDivBox div{ background-color: #00A6C2; po ...

  7. scala and machine learning

    http://download.csdn.net/album/detail/3376 scala and machine learning

  8. EasyTouch绑定事件在电脑上点击有效Android上无效的解决方法

    最近做一个RPG类的游戏发现使用EasyTouch虚拟摇杆插件在电脑上点击有效Android上无效,查找资料发现是Easy Joystick中的一个属性interaction type要设置成 Dir ...

  9. 编写一个简单的jdbc例子程序

    package it.cast.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Res ...

  10. 《UML大战需求分析》阅读笔记06

    对<UML>撒站需求分析的阅读现在已到达尾声,虽然读这本书是应老师的要求,但是在后期的阅读中也逐渐喜欢上这本书,在阅读的过程中不断领会需求分析与UML之间的联系,让在软件需求分析阶段有了更 ...