本文记录PC(x86)下安装Linux/X11版Qt 开发环境。下载页面:http://qt-project.org/downloads
ARM嵌入式版本qt库的编译安装详见《unbunt12.04编译安装qt-embedded-4.8.1》
------
我们选择qt-everywhere-opensource-src-4.8.5.tar.gz版本。选择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) 是同一个文件,配置不同就可以编译出不同的版本,这就是“everywhere”版本的本意~,其默认编译安装的是X11(即PC)版本!
-------------------------------------------
安装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
若安装成功,则在/opt/qt-4.8.5-x11下即会产生相关文件:
http://blog.163.com/dingmz_frcmyblog/blog/static/217304023201422844445702/