以前在pc上安装qt4.8.0是用qt sdk安装的,直接把qt4.8.0library 以及qt Creator等全安装好了。这次项目需要是用qt4.7.0版本,因此只好重新安装了,由于使用的是fedora14,比ubuntu11.10上麻烦不少,原因是ubuntu用户多,一个问题一搜就能得到解决方法,Fedora上可能少些,但还是有的。
安装qt4.7.0(这里单纯指的qt4.7.0的库,不包括qt creator工具)有两种安装方式,一种是下载一个二进制文件.bin,下载后直接chmod +x 。。。 直接运行就可以安装了,但这安装的是PC 版,要想生成arm版还非得用源码安装不可,无奈,干脆直接用源码安装。
在ftp://ftp.qt.nokia.com/qt/source/,上用flashFXP下载qt-everywhere-opensource-src-4.7.0.tar,速度会比直接复制快点。工具随后会上传。下载后解压缩,进到解压缩的那个目录,然后经过三步,一:./configure(生成makefile),二:make, 三:make install.会默认安装到/usr/loacal/tro.......。捣蛋就捣蛋在前两步上,由于事先没有安装一些库,导致中断。
1)首先安装g++,Fedora下安装g++的命令是:yum install gcc-c++,用惯了ubuntu还真是不方便。
2)如果在./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
那是因为没装有libxtst-dev,使用命令apt-get install libxtst-dev安装,但是这是Fedora,软件包的名字有差别,参照http://hi.baidu.com/stdying/item/fdfb85ce82ebf207b67a2419,以此安装:
yum install libXau-devel
rpm -ivh libXext-devel-1.0.4-1.fc9.i386.rpm
yum install ibX11-devel
yum install libXext-devel,这个时候就应该./configure通过了。哎,后来看到http://wenku.baidu.com/view/0b091235ee06eff9aef807d4.html及 http://hi.baidu.com/esbat/blog/item/fd41193054493594a9018e91.html的 文章,不如直接安装以下:
/
yum install gcc-c++.i686
先安装libxext-dev
yum install libXext-devel.i686
安装libxt-dev
yum install libXt-devel.i686
安装libxrender-dev
yum install libXrender-devel.i686
安装libxdamage-dev
yum install libXdamage-devel.i686
About QtOpenGL
yum install mesa-libGL-devel.i686 mesa-libGLU-devel.i686
About QtDBus
yum install dbus-glib-devel.i686
meegotouch:
yum install GConf2-devel.i686
yum install libicu-devel.i686
All above commands are :
yum install libXext-devel.i686 libXt-devel.i686 libXrender-devel.i686 libXdamage-devel.i686 mesa-libGL-devel.i686 mesa-libGLU-devel.i686 dbus-glib-devel.i686 GConf2-devel.i686 libicu-devel.i686gcc-c++.i686
//
注,红线里面的我没有试验,按照上面我说的也安装成功了。这里只是把可能用到的包列出来。
3),生成makefile后,在make阶段出现错误提示:
/usr/bin/ld: cannot find -lXrender
collect2: ld returned 1 exit status
make[1]: *** [../../../../lib/libQtWebKit.so.4.7.3] 错误 1
make[1]: Leaving directory `/home/debian/桌面/qt-everywhere-opensource-src-4.7.3/src/3rdparty/webkit/WebCore'
make: *** [sub-webkit-make_default-ordered] 错误 2
那是因为没有装libxrender-dev,ubuntu直接apt-get就搞定了,fedora还要再查对应的包名是什么,真坑爹啊!命令如下:yum install libXrender-devel.i686。 这样make就应该通过了。
同志们看到这文章的话,在编译前直接把带下划线包先安装了把!
补充:
(一) 安装QT X11 Requirements 下面的库文件 (如果安装fedora 选择软件开发环境这步可以省略)
libfontconfig1-dev
libfreetype6-dev
libx11-dev
libxcursor-dev
libxext-dev
libxfixes-dev
libxft-dev
libxi-dev
libxrandr-dev
libxrender-dev