您的位置:首页 > 编程语言 > Qt开发

编译安装Qt4(二)

2015-06-07 16:16 393 查看

前言

   上一篇文章说到我为了解决QAction图标不能显示的问题选择安装了Qt5,但是安装完成后,我重新编译源代码,发现好多报错,很多Qt4中的头文件,Qt5编译说找不到.上网查了后,说Qt5和Qt4差别还是很大的,兼容性不是很好.尽管有一些解决Qt4向Qt5移植的文章,但是都很麻烦,而且不一定能成功移植,移植后也可能会出现其他问题.于是我决定再安装Qt4,Qt5也不卸载,这两是可以共存的.

Qt4.8.6

   因为不想太麻烦,我网上找到了下面的方法,直接用apt-get install 安装,简单省事.

附上原帖链接:http://baike.baidu.com/link?url=q4fvHa8bwl-lTsww3azEJKDQ-a8UDMq75WXkQKrggw6LccZC3sULPNdEOK_KjdhZDh65YX319kfCKupaVEHxta

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各版本源码

选择下载: 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界面将不能显示中文,遇到中文的地方会是空白.我就是第一遍没有加,最后只能重新编译安装了一次.



输入‘o’ ,选择开源版本。

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图标正常显示.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: