CentOS6.7下搭建Qt4.8.4开发环境

1.解压Qt4.8.4

# tar zxvf qt-everywhere-commercial-src-4.8.4.tar.gz

修改~/.bashrc 文件,文件最后添加下面四行:

QTDIR=/tmp/qt-everywhere-opensource-src-4.8.4

PATH=$QTDIR/bin:$PATH

MANPATH=$QTDIR/man:$MANPATH

LD_LIBRARY=$QTDIR/lib:$LD_LIBRARY

export QTDIR PATH MANPATH LD_LIBRARY

 

执行source ~/.bashrc 文件修改生效

# source ~/.bashrc

 

# ./configure

出错如下:

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 in  /home/zhu/Qt/qt-x11-opensource-src-4.5.2/mkspecs/Linux-g++

 

原因是需要安装libX11-devellibXext-devellibXtst-devel3 软件包,可是当前虚拟机不能上外网,但是又想用yum命令而rpm命令来装软件包,毕竟yum安装过程对其依赖库的安装更自动化和全面些,会少掉很多麻烦,于是需要做CentOS下的本地 yum数据源。


2.CentOS6使用ISO镜像做yum数据源

挂载虚拟机CD/DVD下镜像文件到CentOS系统目录下:

# df -h   #选择光驱连接后,镜像默认被挂载在/media下面     

CentOS6.7下搭建Qt4.8.4开发环境_第1张图片

# mkdir /mnt/iso   #先创建挂载点

# mount /dev/sr0 /mnt/iso/    #挂载

# df -hT   #查看一下挂载情况

CentOS6.7下搭建Qt4.8.4开发环境_第2张图片

# cd /mnt/iso/

# ls -al

CentOS6.7下搭建Qt4.8.4开发环境_第3张图片

 

修改yum数据源配置:

# cd /etc/yum.repos.d/

# mv *.repo bak/  #备份系统的源配置文件

# vim /etc/yum.repos.d/redhat.repo  #编辑新源配置文件

[RHEL]

   name=RHEL6.7

   baseurl=file:///mnt/iso

   gpgcheck=0

   gpgkey=file:///mnt/iso/RPM-GPG-KEY-CentOS-6

   enabled=1

 

直接安装软件包成功:

yum install libX11-devel

yum install libXext-devel

yum install libXtst-devel

 

需要谨慎的一点是从现在开始我们最好去登陆Linux系统内部执shell命令好了,不要在Windows系统下用xshell工具远程访问 了,因为后面的或多或少涉及到界面,而一般的Linux系统桌面都 依赖的是X Server图形桌面环境,很容易就报错无法连接到 Server,这个时候就是你在远程连接执行,所有以防万一我们直接Linux下终端中编译qt和安装qt creator


3.编译Qt

# ./configure

# ./configure -thread   (检查这步多做不也更好点)

# gmake (编译这步我花了1个半小时)

# gmake install   (安装这步大概也要10多分钟以上)

非常顺利没有任何难度。

这里gmake install默认把Qt安装到/usr/local/Trolltech目录下面。


4.安装Qt Creator

# ./qt-creator-linux-x86-opensource-2.6.1.bin

执行上面就弹出安装的图形界面,然后就跟在Windows下面安装 的一样一样的啦。

CentOS6.7下搭建Qt4.8.4开发环境_第4张图片

其期,安装向导会询问安装路径,我是把文件安装到  /tmp/qt-creator-linux-x86-opensource-2.6.1 目录下的。

然后下一步下一步简单完成。

然后我们就看到Qt Creator应用程序:

CentOS6.7下搭建Qt4.8.4开发环境_第5张图片

最后简单配置一下Qt Creator让它和Qt库关联起来就大功告成。

配置Qt库路径,注意修改成你gmake install安装目录下的qmake

CentOS6.7下搭建Qt4.8.4开发环境_第6张图片

配置编译器,这里Qt Creator已经检测到X86GCC,都不用改:

CentOS6.7下搭建Qt4.8.4开发环境_第7张图片

完啦。


5.运行Qt库下的example例程

随便打开一个例程,我选择打开的是 /tmp/qt-everywhere-opensource-src-4.8.4/examples/widgets/analog clock 下的窗口程序。

编译例程:

CentOS6.7下搭建Qt4.8.4开发环境_第8张图片

如上图构建成功。

运行例程:

CentOS6.7下搭建Qt4.8.4开发环境_第9张图片

如上图弹出时钟窗口。

完全验证当前搭建的Qt开发环境正常。


6. 实现应用程序的托盘

选择打开/tmp/qt-everywhere-opensource-src-4.8.4/examples/desktop/systray

例程,运行托盘图标无法显示,Qt Creator运行时报下面错误:

X Error: BadDrawable (invalid Pixmap or Window parameter) 9
  Major opcode: 62 (X_CopyArea)
  Resource id:  0x0

这里我们需要安装libXrandr-devel软件包重新编译Qt库。

yum install libXrandr-devel

 CentOS6.7下搭建Qt4.8.4开发环境_第10张图片

 

然而最后运行自己写的demo程序发现还有问题,中文乱码,发现是Qt字体库没有配置安装。

进入目录 /tmp/qt-everywhere-opensource-src-4.8.4/qt-everywhere-opensour ce-src-4.8.4/config.tests/x11/fontconfig中执行gmake编译命令报 错如下:

 

错误1: ft2build.h: No such file or directory

命令# yum install freetype-devel# yum install fontconfig-devel问题解决。

 

错误2: /usr/include/ft2build.h:56: fatal error:freetype/config/ftheader.h: No such file or directory

命令 # ln -s /usr/include/freetype2/freetype/ /usr/include/freetyp 问题解决。


最后回到Qt库源码目录/tmp/qt-everywhere-opensource-src-4.8.4重新编译Qt库源码:

# ./configure -fontconfig

# gmake

 CentOS6.7下搭建Qt4.8.4开发环境_第11张图片

# gmake install

 CentOS6.7下搭建Qt4.8.4开发环境_第12张图片

 

再次重新编译Qt库后运行demo程序:

 CentOS6.7下搭建Qt4.8.4开发环境_第13张图片

 

总结,这次把Qt库整个的编译了2次,整个过程感觉很多东西只有遇到了才会去解决,去网上搜很多牛人都有遇到,不过也没有关系,多编译几次Qt库就多编译几次呗,熟能生巧,如果想一次编译好,最好可以开始就将libX11-devellibXext-devellibXtst-devellibXrandr-develfreetype-develfontconfig-devel这六个软件包安装好,执行一次下面的命令# ln -s /usr/include/freetype2/freetype/ /usr/include/freetyp,这些 做完了我们就开始# ./configure -fontconfig# gmake和# gmake installOK啦。

你可能感兴趣的:(Qt)