我的环境:CentOS 6.7  64位。

1.下载Qt:

Qt版本有很多,自己比较菜,希望安装的过程越简单越好,感觉比较新的版本会好安装一些,5.4版本还要更新 /usr/lib64/libstdc++.so.6 文件,5.6的话就省心一些。

地址如下:

http://download.qt.io/official_releases/qt/5.6/5.6.1/

选择和系统对应的,我选择了qt-opensource-Linux-x64-5.6.1.run

这个.run文件既包含了SDK也包含了IDE:QtCreator。

2.安装Qt::

在终端中进入到下载完的Qt安装文件所在目录,一般下到主文件夹内的Downloads内,于是#cd ~/Downloads。

要先更改权限才能够安装:#chmod u+x qt-opensource-linux-x64-5.6.1.run

然后就可以 #./qt-opensource-linux-x64-5.6.1.run安装了。

安装的过程会比较顺利,一路点点点。

3.配置环境变量

如果进入到QtCreator所在目录下是可以运行QtCreator的,但每次都这样会很麻烦,可以将其加入到系统环境变量。

#vim /etc/profile 后面那个文件就是存放环境变量的,如果没有取得root权限这个文件是只读的,所以要想修改它就要先取得权限(我比较菜也比较懒直接先#su了,后面也不用#sudo xxx了)。

在文件中添加:

export QTDIR=/opt/Qt5.6.1/Tools/QtCreator
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

其中/opt/Qt5.6.1是我的Qt的安装目录。

#source /etc/profile 使修改的环境变量生效。

之后#qtcreator就可以启动QtCreator了。

如果想在命令行下用Qt开发,就需要qmake这个工具,可以按照和上面一样的方式将其加入环境变量。

我的电脑中其路径是/opt/Qt5.6.1/5.6/gcc_64。

接下来尝试我们的第一个程序helloworld。

选择一个目录创建我们的工程文件夹helloworld并进入。

#vim helloworld.cpp

编辑内容如下:

#include<QApplication>
#include<QLabel>
int main(int argc,char *argv[])
{
  QApplication app(argc,argv);
  QLabel *label=new QLabel("helloworld!");
  label->show();
  return app.exec();
}

保存后就可以开始编译了。

#qmake -project

这步之后会发现当前文件夹内多了一个helloworld.pro,是各个平台都通用的工程文件。

#qmake helloworld.pro

文件夹内又多了Makefile

#make

可执行文件就顺利生成啦。

过程中遇到一些问题:

问题1:提示缺少头文件

helloworld.cpp:1:23: 错误:QApplication:没有那个文件或目录

helloworld.cpp:2:17: 错误:QLabel:没有那个文件或目录

编辑第一步qmake -project生成的helloworld.pro

#vim helloworld.pro

加入QT+=widgets

问题2:error: cannot find -lGL

原因是系统缺乏相应的OpenGL库文件造成,解决方案如下:

进入CentOS系统的终端,依次执行以下命令,即可解决。(依然需要root权限)

#yum install mesa-libGL-devel mesa-libGLU-devel

#yum install freeglut-devel

Linux下安装Qt5.6.1的更多相关文章

  1. linux下安装QT5:error: unrecognized command line option ‘-fuse-ld=gold’

    安装qt时在执行./configure时报错:error: unrecognized command line option '-fuse-ld=gold' 这个错误是qt的一个bug. 在装有gol ...

  2. linux下编译qt5.6.0静态库(使用./configure --help来看看都有哪些参数。超详细,有每一个模块的说明。如果改变了安装的目录,需要到安装目录下的bin目录下创建文件qt.conf)(乌合之众)good

    linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...

  3. Linux下安装Tomcat服务器和部署Web应用

    一.上传Tomcat服务器

  4. linux下编译qt5.6.0静态库——configure配置

    linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...

  5. 转】Linux下安装Tomcat服务器和部署Web应用

    原博文出自于: http://www.cnblogs.com/xdp-gacl/p/4097608.html 感谢! 一.上传Tomcat服务器

  6. linux下编译qt5.6.0静态库——configure配置(超详细,有每一个模块的说明)(乌合之众)

    linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...

  7. linux下安装tomcat和部署web应用

      孤傲苍狼 只为成功找方法,不为失败找借口! Linux下安装Tomcat服务器和部署Web应用 一.上传Tomcat服务器

  8. Linux下安装Tomcat服务器

    Linux下安装Tomcat服务器 一.总结 一句话总结: linux多用才能熟 1.阿里云上面我们买的服务器,怎么让它可以访问特定的端口? 就是给服务器的安全组添加规则:实例-->更多--&g ...

  9. Linux下安装 Posgresql 并设置基本参数

    在Linux下安装Postgresql有二进制格式安装和源码安装两种安装方式,这里用的是二进制格式安装.各个版本的Linux都内置了Postgresql,所以可直接通过命令行安装便可.本文用的是Cen ...

随机推荐

  1. 修改npm包管理器的registry为淘宝镜像(npm.taobao.org)<转>

    起因 安装了node,安装了npm之后,官方的源实在是 太慢了! 看了看淘宝的npm镜像,  http://npm.taobao.org/ 竟然说让我再下载一个cnpm,要不然就每次都得install ...

  2. [shell]管理 Sphinx 启动|停止|重新生成索引的脚本

    对于启动sphinx的服务,可以直接输入如下命令 /usr/bin/searchd -c /etc/sphinx/sphinx.conf <!-- /usr/local/bin/searchd  ...

  3. 流畅的python和cookbook学习笔记(七)

    1.读写压缩数据文件 使用 gzip 和 bz2 模块来读写压缩文件,不过需要注意文件的模式,默认格式为二进制. # 读取压缩文件 import gzip with gzip.open('somefi ...

  4. 反汇编调试Android

    https://code.google.com/p/android/issues/detail?id=73076 http://my.unix-center.net/~Simon_fu/?p=527 ...

  5. LinearLayout中的android:layout_garvity的center_vertical和center_horizontal

    当LinearLayout的排列方向是 horizontal时,只有垂直方向上的对齐方式才会生效.因为此时水平方向上的长度是不固定的,每添加一个控件,水平方向上的长度都会改变,因而无法指定该方向上的对 ...

  6. vc++返回模块路径

    #include "stdafx.h"#include <Windows.h>#include <string.h>const int MAXPATHLEN ...

  7. Mybatis执行sql(insert、update、delete)返回值问题

    数据库:Mysql 在使用mybatis的过程中对执行sql的返回值产生疑问,顺手记录一下. 结论: insert:   插入n条记录,返回影响行数n.(n>=1,n为0时实际为插入失败) up ...

  8. 数据库字段值为null利用setInc方法无法直接写入

    1.数据库字段值为null利用setInc方法无法直接写入,先判断是否为空,再写入. if($points->add($dataList)){ $user=M('cuser'); $null=$ ...

  9. H5前端的关于像素解释

    场景: 人物:前端实习生「阿树」与 切图工程师「玉凤」 事件:设计师出设计稿,前端实现页面 玉凤:树,设计稿发给你啦,差那么点像素,就叼死你┏(  ̄へ ̄)=☞ 阿树:~(>_<)~毛问题噶 ...

  10. nodejs繁琐地自建路由

    一.繁琐的自建路由 app.js var server = require('./server'); server.startServer(); server.js var http = requir ...