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

ubuntu12.04下编译安装x86平台qt库qt-everywhere-opensource-src-4.8.5的更多相关文章

  1. [置顶] ubuntu12.04下编译opencv程序

    ubuntu12.04下编译opencv程序 1.在ubuntu下安装好 opencv后(建议使用apt-get install 来安装) 2.使用程序FaceExaple.c来进行测试程序 #inc ...

  2. 在ubuntu12.04下编译android4.1.2添加JNI层出现问题

    tiny4412学习者,在ubuntu12.04下编译android4.1.2添加JNI层出现问题: (虚心请教解决方法) trouble writing output: Too many metho ...

  3. ubuntu14.04下编译安装ambari-2.4.2.0

    ubuntu14.04下编译安装ambari-2.4.2.0 编译前的准备工作 准备工作有: 系统参数 系统依赖(编译环境) 离线安装包 java环境 maven环境 Nodejs环境 git环境 a ...

  4. Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python)

    Ubuntu16.04下编译安装OpenCV3.4.0(C++ & python) 前提是已经安装了python2,python3 1)安装各种依赖库 sudo apt-get update ...

  5. Ubuntu 16.04下编译安装Apache2.4和PHP7结合

    Ubuntu 16.04下编译安装Apache2.4和PHP7结合,并安装PDOmysql扩展. 1.编译安装apache2.4.20 1 第一步: ./configure --prefix=/usr ...

  6. Ubuntu16.04下编译OpenCV2.4.13静态库(.a文件)

    Ubuntu16.04下编译OpenCV2.4.13静态库(.a文件) https://blog.csdn.net/woainishifu/article/details/79712110 我们在做项 ...

  7. ubuntu16.04下编译安装vim8.1

    之前写过一篇centos7下编译安装vim8.0的教程,ubuntu16.04相比centos7下安装过程不同在于依赖包名字的不同,其余都是一样.下面给出ubuntu16.04编译安装vim8.0需要 ...

  8. centos7.2下编译安装&&使用-git代码库

    centos7.2下编译安装git Git简介 Git是一个分布式版本控制系统 Git vs SVN SVN是典型的集中式版本控制起,版本库集中存放在服务器,当我们用自己的电脑干活儿的时候,需要先从中 ...

  9. ubuntu12.04下编译Linux tina 2.1/android经验

    用的是osboxes下的vdi. 编译Linux 1. 不能在root用户下操作 2. 执行 make kernel_menuconfig 报错,需要 apt-get install zlib1g z ...

随机推荐

  1. WPF遍历当前容器中某种控件的方法

    原文:WPF遍历当前容器中某种控件的方法 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/m0_37591671/article/details/79 ...

  2. 【BZOJ 4518】[Sdoi2016]征途

    [链接] 链接 [题意] 在这里输入题意 [题解] DP+斜率优化; \(D(x) = E(x^2)-E(x)^2\) 其中\(E(x)^2\)这一部分是确定的. 因为总长是确定的,分成的段数又是确定 ...

  3. vim修复,telnet安装启动,linux更新软件源

     vim修复: 修复前提,你到UBUNTU能够联网.否则仅仅能卸载,不能安装 1.sudo apt-get remove vim-common 2.sudo apt-get install vim ...

  4. web中的重定向与转发

    Redirect:重定向(客户端重定向) 是HTTP协议规定的一种机制:当client向server发送一个请求,要求获取一个资源时,在server接收到这个请求后发现请求的这个资源实际存放在另一个位 ...

  5. Seagate-保修验证(za25shrx)

    保修验证 http://support.seagate.com/customer/zh-CN/warranty_validation.jsp   Seagate   保修验证    End User  ...

  6. Spring-boot更改成war包的方式

    转载至:  https://blog.csdn.net/zhuwei_clark/article/details/82114102  Step1 修改启动类 Step2 修改配置文件为properti ...

  7. numpy tricks(二)—— 删除多维数组的行或列

    numpy.delete numpy 下的多维数组,如果要删除其中的某些行,或某些列,不可以用置空的方式,进行设置: A[1, :] = None, ⇒ 会将 A 中的第一行数据全部置为 Nan 1. ...

  8. 【codeforces 768C】Jon Snow and his Favourite Number

    [题目链接]:http://codeforces.com/contest/768/problem/C [题意] 给你n个数字; 让你每次把这n个数字排序; 然后对奇数位的数字进行异或操作,然后对新生成 ...

  9. .net程序客户端更新方案

    原文:.net程序客户端更新方案 客户端程序一个很大的不便的地方就是程序集更新,本文这里简单的介绍一种通用的客户端更新方案.这个方案依赖程序集的动态加载,具体方案如下: 将程序集存储在一个文件数据库中 ...

  10. 排序 —— 希尔排序(Shell sort)

    希尔排序(Shell sort)的名称源于它的发明者 Donald Shell,该算法是冲破二次时间屏障(冒泡和插入排序,基于相邻元素的交换)的第一批算法.希尔排序改进了冒泡和插入排序的相邻元素才进行 ...