转:http://blog.csdn.net/wavelee/article/details/7855727

在编译Qt4.8.6版本的库时,在配置时

  1. ./configure

出现了如下的错误:

  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/wavelee/下载/qt-everywhere-opensource-src-4.8.2/mkspecs/linux-g++.

Goole 一下,发现这是由于缺少了某些库引起的,我按照他们提供的库的名称进行安装,结果yum提示找不到这些库。于是,我觉得可能是Centos6.3的库的名字可能有些变化,于是应如下的命令进行安装:

  1. yum install  *libX11*  *libXext* *libXts*

结果成功。从安装过程可以知道,这几个库的真实名字如下:

  1. libX11-devel libXext-devel libXtst-devel

并且,这几个库还依赖与一下几个库:

  1. libXau-devel
  2. libXdmcp-devel
  3. libXi-devel
  4. libxcb-devel
  5. xorg-x11-proto-devel

不过,这些不需要操心,yum 会帮我们装好的。

=========================================================================================

1.下载qt-creator-opensource-x86_64-2.6.1.bin 用谷歌搜索可以找到sourceforge 下载地址

http://sourceforge.net/projects/qtcreator.mirror/files/Qt%20Creator%202.6.1/

2.下载qt 4.8.6 官网下即可,(老感觉官网导致我后面的问题,可以试试github上或者sourceforge上面的,我已经安装过2遍了,不想再尝试)

3.qt-creator 直接给x权限,执行即可  默认安装在opt下

4.qt library 解压后  进入目录

$ QTDIR=$(pwd)
$ PATH=$QTDIR/bin:$PATH
$ MANPATH=$QTDIR/man:$MANPATH
$ LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
这些环境变量是过会安装用的,安装完后,后边还会有变量设置
 
5. ./configure
    ./gmake   此处用gmake  (GUN make)是因为make可能不同系统有所差距 (2-3小时)
   make install  (root权限)
6. 安装完后,安装文件目录不能删除!!! /usr/local/Trolltech/Qt-4.8.6/bin 下启动   ./designer
我一开始 都是乱码 ,然后打开./qtconfig (此目录下)
在FONTS里面,选择自提,songti 或者fangsongti   再打开就可以了
但还是这么难看,看别人安装好的,fonts里面有好多字体,和系统本身的自提一样(可以右击桌面属性看到),我里面一直只有这点,因此重装一遍.....还是这样..
用非root用户打开 界面正常漂亮||||或者用qt-creator直接嵌入调用打开,而不是直接打开
 
7. 至此,安装完成
打开/etc/profile文件,最后添加
$ export QTDIR=/usr/local/Trolltech/Qt-4.8.6
$ export PATH=$QTDIR/bin:$PATH
$ export MANPATH=$QTDIR/man:$MANPATH
$ export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH    //这是调用第三方库 必须配置的变量,默认只读取/usr/lib  /lib
保存后,source /etc/profile
    ldconfig
8.测试安装成功
qmake -v  
出结果ok
9.配置下qt-creator
Qt Creator的菜单[Tool]->[Option...],点击后弹出Option对话框:在编译和运行中,点击右边add ,添加/usr/local/Trolltech/Qt-4.8.6/bin/qmake
再在kits选项下,
qt-version下选择,上一步,点击apply 应用,这一步,选项下才会有qt可选
 
=========================================================================
至此,全部完事,通过qtcreator 项目编辑中,双击打开UI文件,没有乱码
 
1.

./configure -static -release -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libjpeg -nomake demos -nomake examples -qt-sql-sqlite -prefix /usr/local/Trolltech/Qt-4.8.6_static

(我的-qt-gif错误,就没写这选项) 必须在源码文件中静态编译!!,即使命名为Qt-4.8.6_static,最后依旧只有Qt-4.8.6,就这么着吧

参数-static 指的是要采用静态编译Qt的方法

参数-release指的是只编译release版本的库

参数-qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libjpeg 是更好确定Qt编译出的程序能在目前不知的系统下运行。

参数-nomake demos -nomake examples 指的是不编译demos和examples

参数-qt-sql-sqlite 如果没有这个参数,configure的时候,可能会提示sqlite 有问题而中止。

参数 -prefix /usr/local/Trolltech/Qt-4.8.6_static 指明静态编译的Qt安装的目录,命名Qt-4.5.1_static是为了区别动态编译安装的Qt,后来发现没用

参数 -continue  当发生错误时,尽可能继续编译

参数 -silent 进行make时只会显示警告和错误等,不会把编译指令也输出到屏幕上

注:如果出现错误:Basic XLib functionality test failed!
                    You might need to modify the include and library search paths by editing
                    QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11

解决办法:yum install libX*

(如果是Ubuntu 也可运行sudo apt-get install libx11-dev libxext-dev libxtst-dev)

另一个编译版本:麒麟机子:

./configure -release -opensource -static -fast -no-largefile -no-accessibility -no-qt3support -no-multimedia -no-audio-backend -no-phonon-backend -no-phonon -no-svg -no-webkit -no-javascript-jit -no-script -no-scripttools -no-declarative -no-declarative-debug -qt-zlib -qt-libtiff -qt-libpng -no-libmng -qt-libjpeg -no-openssl -nomake libs -nomake tools -nomake examples -nomake demos -nomake docs -nomake translations -no-dbus

2.gmake 下面参数我没加

-k  当发生错误时,尽可能继续编译

-j N  同时进行N项编译,建议N的值为你的CPU核数X1.5。当然,我选的值略微狠了点,我的电脑是奔腾双核T4300,make指令为: make –k –j 4    ,然后我就看到系统监视器里CPU直接飙到100%了

3.gmake install 嫌麻烦 可以不要这步的,不过以后的编译都得借助源码中qmake (linux中 make install就是简单复制,没啥)
 
 
 

centos安装Qt的更多相关文章

  1. centos安装qt开发环境

  2. centos 下 Qt Creator 的安装使用

    centos 下 Qt Creator 的安装使用 Qt 以其开源,免费,完全面向对象(很容易扩展),允许真正的组件编程以及可移植跨平台等诸多优势得到越来越多的开发人员的青睐.Qt Creator 是 ...

  3. centos 下Qt安装 mysql驱动(亲测可行)

    (前半部分没有试过,因为我的有mysql驱动,实在抱歉) 1.预防万一,先安装一下mysql-devel(一定要装!). 不安装的话后面编译会出现找不到-lmysqlclient的问题. 2. 开始编 ...

  4. CentOS源码安装QT

    在VirtualBox上的CentOS下安装qt-everywhere-opensource-src-4.8.4 ,执行 ./confiure时失败,失败信息为:Basic XLib function ...

  5. CentOS 6.5 下安装 QT 4

    1. 获取下载地址 从我到网盘下载:  qt-creator-opensource-linux-x86_64-3.5.1.run            qt-everywhere-opensource ...

  6. Linux编译安装Qt 5.4.1(-qt-xcb是必须要指定的,卸载自带的gcc等)

    转载请注明文章:Linux编译安装Qt 5.4.1 出处:多客博图 很久不写文章了,过程很简单,但是操作很多,简单说吧. 前言: 操作系统CentOS 6.6,64位的. 1.安装gcc 4.8.4, ...

  7. CentOS遇到Qt编译问题(error: cannot find -lGL)

    1.安装Qt,进入CentOS系统的终端,依次执行以下命令 chmod +x qt-opensource-Linux-x64-5.5.1.run ./qt-opensource-linux-x64-5 ...

  8. centos安装图形界面通常有两种方式

    centos安装图形界面通常有两种方式   1.通过系统安装,在配置选择软件界面,选择GNOME桌面模式.

  9. Ubuntu 下安装QT

    Ubuntu 下安装QT 本文使用的环境 QT Library: qt-everywhere-opensource-src-4.7.4.tar.gz QT Creator: qt-creator-li ...

随机推荐

  1. el-input限制只能输入数字(开发小记)

    输入框中限制通常有三种处理方法 第一种:设置type属性(不推荐) 设置type属性为number,text等等,此方法输入框的后面会有不必要样式出现 <el-input type=" ...

  2. SpringBoot整合Shiro权限框架实战

    什么是ACL和RBAC ACL Access Control list:访问控制列表 优点:简单易用,开发便捷 缺点:用户和权限直接挂钩,导致在授予时的复杂性,比较分散,不便于管理 例子:常见的文件系 ...

  3. JUC包-原子类(AtomicInteger为例)

    目录 JUC包-原子类 为什么需要JUC包中的原子类 原子类原理(AtomicInteger为例) volatile CAS CAS的缺点 ABA问题 什么是ABA问题 ABA问题的解决办法 JUC包 ...

  4. C#实现 Server-sent Events

    基于http协议交互的推送方法大概方法如下: 轮询(ajax),比较耗费服务器资源.COMET方式(COMET 技术并不是 HTML 5 ) websocket 双向数据推送,灵活,功能强大 Serv ...

  5. 剑指offer 面试题10:斐波那契数列

    题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0).n<=39 编程思想 知道斐波拉契数列的规律即可. 编程实现 class Solu ...

  6. 一文带你探究Sentinel的独特初始化

    摘要:本系列通过作者对Redis Sentinel源码的理解,详细说明Sentinel的代码实现方式. Redis Sentinel 是Redis提供的高可用模型解决方案.Sentinel可以自动监测 ...

  7. 执行py文件需要可执行权限吗?

    案例解析 这个问题描述起来有点违反直觉,要执行一个文件难道不应该需要可执行权限吗?让我们先来看一个例子: # module1.py def test(): print ('hello world!') ...

  8. linux服务开机自启动&注册系统服务

    首先先看下linux系统开机启动顺序,如下图 对,要解决Linux CentOS 和 Red Hat Linux 系统中设置服务自启动有两种方式,就是从图中圈出的两个步骤下手. 一.修改 /etc/r ...

  9. 目录遍历 - Pikachu

    概述: 在web功能设计中,很多时候我们会要将需要访问的文件定义成变量,从而让前端的功能便的更加灵活. 当用户发起一个前端的请求时,便会将请求的这个文件的值(比如文件名称)传递到后台,后台再执行其对应 ...

  10. DB2版本升级(V9.7升级到V11.1)

    1.V11.1版本升级路线 DB2 11.1 可以将现有的 Db2 V9.7.Db2 V10.1 或 Db2 V10.5 实例和数据库直接升级到 Db2 V11.1.如果 Db2 服务器正在 Db2 ...