转: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就是简单复制,没啥)
 
 
 

最新文章

  1. Java final 关键词修饰类、方法、变量
  2. Machine Learning
  3. C#循环测试题
  4. Drawing with GoogLeNet
  5. nodejs and db
  6. 关于Unity3D中的版本管理 .
  7. DOM动态添加表格
  8. Oracle_数据库表的约束
  9. thinkphp中定义自己的函数
  10. 安装yum源和gcc编译器遇到的问题
  11. TreeMap倒序以及遍历
  12. 如何将dtb反编译成dts
  13. 报表软件公司高价悬赏BUG,100块1个我真是醉了
  14. 远程代码仓库URL地址变更后本地仓库的配置方法
  15. com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
  16. Gradle打jar包命令
  17. frist Django app — 四、 完善View
  18. 认识Jmeter工具
  19. 【MongoDB】 Failed to connect to 127.0.0.1:27017, reason: Connection refused
  20. 适用于 Azure 虚拟网络的常见 PowerShell 命令

热门文章

  1. Linux 如何选择要kill掉的进程
  2. 记录一次 Nginx 配置 proxy_pass 后 返回404问题
  3. 杭电OJ2010---水仙花数(c++)(方法:输出几个数之间用空格隔开,最后一个数没有空格)
  4. Linux下的screen和作业任务管理
  5. Docker 介绍和安装(一)
  6. ssl证书与java keytool工具
  7. 2019 Java开发利器Intellij IDEA安装、配置和使用
  8. mysql: Character set 'utf8mb4' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file
  9. grep和egrep
  10. ElasticJob 快速上手