# 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-devel,libXext-devel,libXtst-devel这3个 软件包,可是当前虚拟机不能上外网,但是又想用yum命令而 非rpm命令来装软件包,毕竟yum安装过程对其依赖库的安装更自动化和全面些,会少掉很多麻烦,于是需要做CentOS下的本地 yum数据源。
挂载虚拟机CD/DVD下镜像文件到CentOS系统目录下:
# df -h #选择光驱连接后,镜像默认被挂载在/media下面
# mkdir /mnt/iso #先创建挂载点
# mount /dev/sr0 /mnt/iso/ #挂载
# df -hT #查看一下挂载情况
# cd /mnt/iso/
# ls -al
修改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图形桌面环境,很容易就报错无法连接到X Server,这个时候就是你在远程连接执行,所有以防万一我们直接 去Linux下终端中编译qt和安装qt creator。
# ./configure
# ./configure -thread (检查这步多做不也更好点)
# gmake (编译这步我花了1个半小时)
# gmake install (安装这步大概也要10多分钟以上)
非常顺利没有任何难度。
这里gmake install默认把Qt安装到/usr/local/Trolltech目录下面。
# ./qt-creator-linux-x86-opensource-2.6.1.bin
执行上面就弹出安装的图形界面,然后就跟在Windows下面安装 的一样一样的啦。
其期,安装向导会询问安装路径,我是把文件安装到 /tmp/qt-creator-linux-x86-opensource-2.6.1 目录下的。
然后下一步下一步简单完成。
然后我们就看到Qt Creator应用程序:
最后简单配置一下Qt Creator让它和Qt库关联起来就大功告成。
配置Qt库路径,注意修改成你gmake install安装目录下的qmake:
配置编译器,这里Qt Creator已经检测到X86的GCC,都不用改:
完啦。
随便打开一个例程,我选择打开的是 /tmp/qt-everywhere-opensource-src-4.8.4/examples/widgets/analog clock 下的窗口程序。
编译例程:
如上图构建成功。
运行例程:
如上图弹出时钟窗口。
完全验证当前搭建的Qt开发环境正常。
选择打开/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
然而最后运行自己写的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
# gmake install
再次重新编译Qt库后运行demo程序:
总结,这次把Qt库整个的编译了2次,整个过程感觉很多东西只有遇到了才会去解决,去网上搜很多牛人都有遇到,不过也没有关系,多编译几次Qt库就多编译几次呗,熟能生巧,如果想一次编译好,最好可以开始就将libX11-devel,libXext-devel,libXtst-devel,libXrandr-devel,freetype-devel,fontconfig-devel这六个软件包安装好,执行一次下面的命令# ln -s /usr/include/freetype2/freetype/ /usr/include/freetyp,这些 做完了我们就开始# ./configure -fontconfig,# gmake和# gmake install就OK啦。