ubuntu12.04下编译安装x86平台qt库qt-everywhere-opensource-src-4.8.5


本文记录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/

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM