前言

  上一篇,是使用Qt提供的安装包安装的,有些场景需要使用到从源码编译的Qt,所以本篇如何在银河麒麟系统V4上编译Qt5.12源码。

 

银河麒麟V4版本

  系统版本:

 

Qt源码下载

  参考博文《获取下载Qt安装包,Qt源码全国网址备忘录(不用注册Qt账户,即可下载各版本Qt安装包和Qt源码包)
  需要哪个版本下哪个版本,笔者经常使用得是Qt5.9和Qt5.12两个大版本,本次下载Qt5.12.7:
&emep; 
  
  由于是自己编译的,我们一般在可以安装Qt版本的时候使用Qt安装版本的QtCreator,但是在本篇文章,我们使用QtCreator也从源码编译,用以补全完全从源码编译搭建环境。
  Qt5.12使用的QtCreator4.8.1,也下载QtCreator4.8.1版本的源码:
  

 

在V4上测试Qt官方安装包

  通过以下测试,是可以直接安装的,正常情况下我们是建议直接安装的,需要自定义或者配置一些模块可能需要涉及到编译源码,那么就可以自行编译qt源码。
  
  
  

 

Qt从源码编译安装

步骤一:下载解压

  

步骤二:配置Qt

  调整当前目录:

cd /home/yang/work/src/qt-everywhere-src-5.12.7

  然后配置:

./configure -prefix /home/yang/work/qt5.12.7 \
-release \
-opensource \
-platform linux-g++ \
-make libs \
-optimized-qmake \
-pch \
-sqlite \
-qt-libjpeg \
-qt-zlib \
-no-opengl \
-skip qt3d \
-skip qtcanvas3d \
-skip qtpurchasing \
-no-sse2 \
-no-openssl \
-no-cups \
-no-glib \
-no-iconv \
-nomake examples \
-nomake tools \
-skip qtvirtualkeyboard \
-v

  
  输入y,开始配置:
  
  此时,sqlite是由问题的,不能make,所以修改下配置问及爱你,去掉-sqlite,如下:

./configure -prefix /home/yang/work/qt5.12.7 \
-release \
-opensource \
-platform linux-g++ \
-make libs \
-optimized-qmake \
-pch \
-qt-libjpeg \
-qt-zlib \
-no-opengl \
-skip qt3d \
-skip qtcanvas3d \
-skip qtpurchasing \
-no-sse2 \
-no-openssl \
-no-cups \
-no-glib \
-no-iconv \
-nomake examples \
-nomake tools \
-skip qtvirtualkeyboard \
-v

  
  

步骤三:编译Qt源码

  根据多年经验,这是个至少长达半小时的过程…

make -j8

  
  编译完成后,如下图:
   
  再make,多线程编译的时候Qt有时候有前后依赖,挂了一个线程我们也是看不到的(一下就闪过了)。

make

  如下图:
  

步骤四:安装make install

make install

  

步骤五:检查Qt使用qmake

  

麒麟系统开发笔记(三):从Qt源码编译安装之编译安装Qt5.12的更多相关文章

  1. 麒麟系统开发笔记(二):国产麒麟系统搭建Qt开发环境安装Qt5.12

    前言   开发国产应用,使用到银河麒麟V4,V10,本篇以V10记录,参照上一篇可安装V4.V7.V10三个版本,麒麟V4系自带了Qt,麒麟V10没有自带Qt,需要自己编译搭建环境.   银河麒麟V1 ...

  2. 【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)

                 分类: Android 系统开发(5)                                              作者同类文章X 版权声明:本文为博主原创文章 ...

  3. 【Android 系统开发】Android框架 与 源码结构

    一. Android 框架 Android框架层级 : Android 自下 而 上 分为 4层; -- Linux内核层; -- 各种库 和 Android运行环境层; -- 应用框架层; -- 应 ...

  4. GuavaCache学习笔记三:底层源码阅读

    申明:转载自 https://www.cnblogs.com/dennyzhangdd/p/8981982.html 感谢原博主的分享,看到这个写的真好,直接转载来,学习了. 另外也推荐另外一篇Gua ...

  5. QT源码解析(一) QT创建窗口程序、消息循环和WinMain函数

    QT源码解析(一) QT创建窗口程序.消息循环和WinMain函数 分类: QT2009-10-28 13:33 17695人阅读 评论(13) 收藏 举报 qtapplicationwindowse ...

  6. Django开发笔记三

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.基于类的方式重写登录:views.py: from ...

  7. 在UML系统开发中有三个主要的模型

    http://www.cnblogs.com/Yogurshine/archive/2013/01/14/2859248.html 在UML系统开发中有三个主要的模型: 功能模型: 从用户的角度展示系 ...

  8. QT源码分析:QTcpServer

    最近在看有关IO复用方面的内容,自己也用标准c++库实现了select模型.iocp模型.poll模型.回过头来很想了解QT的socket是基于什么模型来实现的,所以看了QT关于TcpServer实现 ...

  9. zlib开发笔记(四):zlib库介绍、编译windows vs2015x64版本和工程模板

    前言   Qt使用一些压缩解压功能,介绍过libzip库编译,本篇说明zlib库.需要用到zlib的msvc2015x64版本,编译一下.   版本编译引导 zlib在windows上的mingw32 ...

随机推荐

  1. ajax 无刷新页面登录

    1:页面代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  2. LGP7890题解

    前置芝士的光速幂技巧. 本题解不是正解,和正解唯一的差别在于对幂的处理. 我们能够发现有: \[F(n,m,k)=\frac 1 n \binom {n+m-1} m \] 证明见这里. 然后我们开始 ...

  3. python 生产数据表脚本

    # -*- coding: utf-8 -*-import re"""建立相关表的字段从源表创建指定的MySQL建表脚本"""# 目标表名称 ...

  4. 【基础】tail命令查看日志

    一.tail 命令介绍 tail 命令可以将文件指定位置到文件结束的内容写到标准输出. 如果你不知道tail命令怎样使用,可以在命令行执行命令tail --help就能看到tail命令介绍和详细的参数 ...

  5. emu8086实现两位数乘法运算

    题目说明:从键盘上输入任意两个不大于2位数的正实数,计算其乘积,结果在屏幕上显示 一.准备材料 DOS功能调用表:https://blog.csdn.net/mybelief321/article/d ...

  6. 阿里一面,说说你了解zookeeper的应用场景有哪些?

    1.前言 又到了金三银四的时候,大家都按耐不住内心的躁动,我在这里给大家分享下之前面试中遇到的一个知识点(zookeeper应用场景),希望对大家有些帮助.如有不足,欢迎大佬们指点指点. 2.zook ...

  7. Python编写简易木马程序(转载乌云)

    Python编写简易木马程序 light · 2015/01/26 10:07 0x00 准备 文章内容仅供学习研究.切勿用于非法用途! 这次我们使用Python编写一个具有键盘记录.截屏以及通信功能 ...

  8. SpringCloudAlibaba 微服务讲解(三)Nacos Discovery-服务治理

    3.1 服务治理 先来思考一个问题,通过上一章的操作,我们已经实现微服务之间的调用,但是我们把服务提供者的网络地址(ip,端口)等硬编码到了代码中,这种做法存在许多问题: 一旦服务提供者地址变化,就需 ...

  9. C 上楼梯 中国石油大学新生训练赛#11

    问题 C: 上楼梯 时间限制: 1 Sec  内存限制: 128 MB提交 状态 题目描述 明明上n 级台阶可用四种步幅, 当然每种步幅花费的体力也不一样, 对应关系如下明明开始有m 个体力, 求他最 ...

  10. C++设计模式 - 访问器模式(Visitor)

    行为变化模式 在组件的构建过程中,组件行为的变化经常导致组件本身剧烈的变化."行为变化" 模式将组件的行为和组件本身进行解耦,从而支持组件行为的变化,实现两者之间的松耦合. 典型模 ...