配置编译安装x86平台qt库qt-everywhere-opensource-src-4.8.5

【目标板】tiny6410

【虚拟机】Ubuntu-13.04

【编译器】arm-linux-gcc 4.3.2

安装Linux/X11版Qt     下载页面:http://qt-project.org/downloads


选择 Qt libraries 4.8.5 for Linux/X11 (230 MB) (Info) 得到qt-everywhere-opensource-src-4.8.5.tar.gz,这个和 Qt libraries 4.8.5 for embedded Linux (230 MB) (Info) 是同一个文件,配置不同就可以编译出不同的版本。

安装Linux/X11版Qt:

tar -xvzf qt-everywhere-opensource-src-4.8.5.tar.gz
cd qt-everywhere-opensource-src-4.8.5
./configure -prefix /opt/qt-4.8.5-x11
make
make install

因为库比较大,要编译好需要大约一个半小时,-prefix后面的是安装目录,根据需要修改。
在编译过程中出错,提示

g++: error: unrecognized command line option ‘-fuse-ld=gold’

解决方法:

这是Qt的一个bug:https://bugs.webkit.org/show_bug.cgi?id=89312
在装有gold linker的系统里,编译脚本会加入-fuse-ld=gold选项,但这个选项gcc是不支持的。解决办法是移除该选项,找到文件src/3rdparty/webkit/Source/common.pri,屏蔽QMAKE_LFLAGS+=-fuse-ld=gold。

#    QMAKE_LFLAGS+=-fuse-ld=gold


在编译过程中出错,提示

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/duliqun/qt- everywhere-opensource-src-4.8.5/mkspecs/linux-g++.
解决方法:

g++在/usr/X11R6/lib下,找不到libXext.so。其原因就在于需要安装libX11的开发包,在ubuntu/debian里包名都是libX11-dev根据以往的经验,在./configure前主动装好下面3个包:sudo apt-get install libX11-dev libXext-dev libXtst-dev

最后,编译成功以后,如下图:


你可能感兴趣的:(linux,qt,X86)