Linux编译源码的方式安装Qt4开发环境(基于Ubuntu系统)
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系统)的更多相关文章
- spark最新源码下载并导入到开发环境下助推高质量代码(Scala IDEA for Eclipse和IntelliJ IDEA皆适用)(以spark2.2.0源码包为例)(图文详解)
不多说,直接上干货! 前言 其实啊,无论你是初学者还是具备了有一定spark编程经验,都需要对spark源码足够重视起来. 本人,肺腑之己见,想要成为大数据的大牛和顶尖专家,多结合源码和操练编程. ...
- CentOS7下源码包方式安装Erlang
1.官网上下载源码包:OTP 19.1 Source File 2.把源码放在source目录中 , 解压 :tar -zxvf otp_src_19.1.tar.gz [或者 直接下载 rpm包 e ...
- linux 编译源码报错,找不到libXrender.so.1
1.通过xshell连接到服务器编译hadoop源码得时候遇到问题, 2.使用Xshell的时候登陆后的环境变量中会比SecureCRT登陆后的环境变量多出一条 DISPLAY=localhost:1 ...
- CentOS7下源码包方式安装rabbitmq
1.先安装erlang http://www.cnblogs.com/justphp/p/6093880.html 2.下载rabbitmq rpm包: wget http://www.rabbitm ...
- openfire4.0.2源码 使用 IntelliJ IDEA 搭建开发环境
从官网下载压缩包,解压,直接打开build目录下的project 打开后, 相关的设置 fix直接修复或者下载 设置 设置每个插件目录下的java目录为source 编译openfire和plugin ...
- linux下源码安装jdk1.8和tomcat8.5
Java是目前可移植性较高的语言,相当火热,tomcat运行就需要Java语言环境 0.java简介 1)tomcat运行需要对应的Java环境,Java环境通过安装jdk来获得2)为了防止兼容性问题 ...
- Centos7服务器中通过编译源码安装MySQL
基于在Centos7服务器上使用 yum 安装MySQL5.7到默认路径 在修改文件存储位置的时候,折腾了一番没有将成功将datadir修改为我想要的位置 我决定再尝试一下通过编译源码来自定义安装: ...
- LINUX下编译源码时所需提前安装的常用依赖包列表
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-deve ...
- Linux 从源码编译安装 OpenSSH
https://blog.csdn.net/bytxl/article/details/46639073 Linux 从源码编译安装 OpenSSH以及各问题解决 2015年06月25日 17:37: ...
随机推荐
- HDU5716 : 带可选字符的多字符串匹配
shift-and算法,设$v[i][j]$表示文本串长度为$i$的前缀能否匹配模式串长度为$j$的前缀,$f[i][j]$表示字符$i$能否匹配模式串的第$j$个位置,那么有$v[i+1][j+1] ...
- BZOJ 1246 & 有点不一样的概率DP
题意: 题意够坑的啊... 一个色子有n个面,第k次掷出一个加上这个k.求掷出所有面的期望值. 我一直以为值是色子面上的... 那么问题来了在色子面上怎么做...n还是1w级别... SOL: 对着理 ...
- Maven2 根据项目生成模版项目,并使用该模板批量创建工程。
Maven 3 创建自己的模版,并使用模版创建工程 1.建立样板Maven工程: myModel 2.进入 myModel 工程根目录执行:mvn archetype:create-from-proj ...
- GridView的七种数据绑定列的类型
1.BoundField 用于显示普通文本,是默认的数据绑定列的类型,一般自动生成的列就是该类型,需要注意是DataFormatString属性,该属性可以设置显示的格式,常见格式有:{0:C} 设置 ...
- 【转】linux和windows下安装python集成开发环境及其python包
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- soui使用wke时,设置js回调注意事项
wke响应网页js函数调用时注意: 必须等网页加载完成后,才能通过SetJsFunc设置js函数与c++回调的对应.网页未加载就设置,不会响应c++函数. 示例代码: wkeJSData* data ...
- GAME AI Pro 1 第1章
和钱康来合作翻译的AI PRO 1和2 系列,计划是一周一篇,先捡着有意思的翻,对那篇有兴趣也可以留言给我优先翻译,希望都翻译好后有机会成书吧,有兴趣一起翻译的也可以联系我. 游戏人工智能是什么( W ...
- 如何在CentOS配置Apache的HTTPS服务
http://www.4byte.cn/learning/120027/ru-he-zai-centos-pei-zhi-apache-de-https-fu-wu.html
- 《javascript高级程序设计》第三章学习笔记
Undefined类型 该类型只有一个值,即undefined. 对未初始化的变量和未定义的变量,用typeof检测,都会返回'undefined' Null类型 该类型只有一个值,null.并且从逻 ...
- HTML与CSS
HTML中DTD是什么?是一套关于标记符的语法规则.DTD是一种保证html格式正确最有效的方法.一个DTD文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或符号规则. ...