前言
?? 上一篇文章说到我为了解决QAction图标不能显示的问题选择安装了Qt5,但是安装完成后,我重新编译源代码,发现好多报错,很多Qt4中的头文件,Qt5编译说找不到.上网查了后,说Qt5和Qt4差别还是很大的,兼容性不是很好.尽管有一些解决Qt4向Qt5移植的文章,但是都很麻烦,而且不一定能成功移植,移植后也可能会出现其他问题.于是我决定再安装Qt4,Qt5也不卸载,这两是可以共存的.
Qt4.8.6
?? 因为不想太麻烦,我网上找到了下面的方法,直接用apt-get install 安装,简单省事.
sudo apt-get install qt4-dev-tools #开发包
sudo apt-get install qtcreator #IDE
sudo apt-get install qt4-doc #开发帮助文档
sudo apt-get install qt4-qtconfig #配置工具
sudo apt-get install qt4-demos #DEMO源码
安装很顺利,一步到位,但是试着编译了一下我那个源代码,图标还是不能显示. 唉,看来有些麻烦还真不能省,捷径不是那么好走的. 我还是老老实实编译安装吧.这回选择编译安装Qt4.8.5(害怕万一是Qt4.8.6的问题,不想再折腾了,其实应该不是).
编译安装Qt4.8.5
1. 在官网下载Qt4.8.5的源码
选择下载: qt-everywhere-opensource-src-4.8.5.tar.gz
2. 解压:
tar -zxvf qt-everywhere-opensource-src-4.8.5.tar.gz
3. 进入源码目录
cd qt-everywhere-opensource-src-4.8.5/
?看到有这些文件:
4. 安装Qt的依赖包
sudo apt-get install libX11-dev
sudo apt-get install libXext-dev
sudo apt-get install libXtst-dev
5. 编译安装
sudo apt-get install libfontconfig*
注:这是安装fontconfig部分的库文件,为了支持中文显示
sudo ./configure -fontconfig -prefix /opt/qt-4.8.5-x11
注:这里一定要加 -fontconfig 参数,网上很多没加,因为这个fontconfig库是用来支持中文,如果不加这个参数,Qt界面将不能显示中文,遇到中文的地方会是空白.我就是第一遍没有加,最后只能重新编译安装了一次.
sudo make
注:编译时间很长,大概1到2小时,耐心等待,可以干别的事了
sudo make install
如果没遇到什么奇葩问题,这就顺利安装完成了.
6. 配置环境变量
cd /etc/
sudo vim profile
? 将下面代码添加到文件末尾,保存退出:
export QTDIR=/opt/qt-4.8.5-x11
export PATH=/opt/qt-4.8.5-x11/bin:$PATH
(PATH=$QTDIR/bin:$PATH)
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
?终端执行命令:
source profile
7. 关于qmake
?? 顺利的话,qmake直接就可以使用了,如果不能使用,那就要手动创建一个软链接,就像上篇安装Qt5那样.
cd /usr/bin
sudo ln -s /opt/qt-4.8.5-x11/bin/qmake qmake
注:软链接名字要与Qt5区分,我的Qt4用qmake,Qt5用qmake-qt5
?查看Qt版本:
qmake -v
? 查看qmake路径:
which qmake
?? 好了,Qt4.8.5已安装完毕. 再次试了下,我的问题解决了,QAction图标正常显示.