Qt源码编译-Ubuntu平台

【开发环境】Ubuntu 18.04 搭建 QT编译环境详细步骤 【亲测有效】 Ubuntu 18.04 搭建 QT编译环境 详细步骤,亲测有效!包括下载安装包,Qt安装步骤以及解决安装过程中Ubuntu空间不足、安装分区管理工具gparted失败、以及Qt编译失败等问题。 阅读详情
AI摘要

本文介绍在Ubuntu平台从源码编译Qt的详细过程。因Qt官网取消Qt 5.15二进制安装包,需自行编译。教程涵盖前提条件,如环境介绍、安装开发工具等;还包括下载源码、配置编译选项、编译及安装,同时给出可能问题的解决方案,助开发者灵活定制功能。

Qt源码编译-Ubuntu平台

Qt官网已取消了Qt 5.15版本二进制安装包。如果要安装Qt 5.15需要下载源码自行编译安装或使用商业授权版本。

Qt 是一个功能强大的跨平台开发框架,支持从嵌入式系统到桌面应用程序的开发。如果你希望在 Ubuntu 平台上从源码编译 Qt,这篇教程将带你一步步完成整个过程。

1.前提条件

1.1 环境介绍

  • 操作系统: Ubuntu20
  • 系统内存: 32G
  • Qt版本: 5.15.15

1.2 安装必要的开发工具

在编译 Qt 源码之前,首先需要确保你的系统具备编译环境以及必要的依赖项。打开终端并运行以下命令来安装必备的工具:

sudo apt-get upgrade
sudo apt-get update
sudo apt-get install build-essential perl python3 git python
sudo apt-get install python3-pip
sudo apt-get install python2.7 python2.7-dev python2

1.3 环境配置

在系统更新界面中,勾选下载源码选项。

1.4安装依赖库

# you need to enable the "Source code" option in Software and Updates > Ubuntu Software under the "Downloadable from the Internet" section.
sudo apt-get build-dep qtbase5-dev

# Qt Base
sudo apt-get install bison build-essential qt5-default 
sudo apt-get install perl git gperf ruby 
sudo apt-get install libclang-10-dev llvm-10*

# Qt OpenGL
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev libegl1-mesa-dev freeglut* libgles* libglew*

# Libxcb
sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev
sudo apt install libxrandr-dev
sudo apt-get install xcb* libxcb* libx11* libxkbcommon* libxrender* libxi-dev
sudo apt install libdouble-conversion-dev

# Qt WebKit
sudo apt-get install flex libicu-dev libxslt-dev ruby gperf

# Qt WebEngine
sudo apt-get install build-essential python2 libasound2-dev libdrm-dev libegl1-mesa-dev libnss3-dev libpci-dev libpulse-dev libudev-dev libxtst-dev gyp ninja-build

sudo apt-get install libxcursor-dev libxcomposite-dev libfontconfig1-dev libxss-dev libsrtp2-dev libwebp-dev libjsoncpp-dev libopus-dev libminizip-dev libavutil-dev libavformat-dev libavcodec-dev libvpx-dev libsnappy-dev libre2-dev libprotobuf-dev protobuf-compiler

sudo apt-get install libdbus-1-dev libevent-dev libcap-dev bison nodejs npm
sudo apt-get install libssl-dev libxdamage-dev
sudo apt-get install libdus* dbus*
sudo apt-get install fontconfig libcap-dev libxext-dev
sudo apt-get install libgstreamer-gl1.0-0 libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
sudo apt-get install libcups2* pulseaudio* alsa-* mesa-* systemd* system-* libgudev-1.0-dev libatspi2.0* at-spi2-* libclipper-dev
sudo apt-get install libdbus-1-dev libcap-dev
sudo apt-get install libx11-*
sudo apt-get install libx11*
sudo apt-get install libxcb-*
sudo apt-get install libxcb*
sudo apt-get install libxkbcommon-devsudo
sudo apt-get install libxkbfile-dev
sudo apt install llvm
sudo apt-get install libxkb-*
sudo apt-get install libxkb*

#  QtBlueTooth
sudo apt-get install bluez* bluetooth libbluetooth*

# Qt Multimedia
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer-plugins-bad1.0-dev
sudo apt-get install libwayland-dev
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

# QDoc Documentation Generator Tool
sudo apt install clang libclang-dev

1.5设置LLVM路径

编译QDoc文档需要使用到LLVM工具,需要设置环境变量告知系统LLVM的路径

#查询LLVM路径
llvm-config --prefix

#设置LLVM路径,具体值为上述查询结果
export LLVM_INSTALL_DIR=/usr/lib/llvm-10

2.下载 Qt 源码

首先,选择你想要编译的 Qt 版本。你可以从 Qt 官方下载页面获取源码包,也可以直接通过 Git 仓库克隆源码。

2.1 从官网获取源码

你可以访问 Qt 官网下载你所需的版本。下载完成后,解压源码:

tar -xvf qt-everywhere-src-<version>.tar.xz
cd qt-everywhere-src-<version>

2.2 使用 Git 克隆源码

使用 Git 克隆最新的 Qt 源码:

git clone https://code.qt.io/qt/qt5.git
cd qt5
git checkout <version>  # 根据你需要的版本号替换 <version>

运行以下命令更新子模块:

perl init-repository

3.配置 Qt 源码编译选项

Qt 编译时可以指定很多选项来优化编译过程或选择不同的功能模块。你可以通过 ./configure 脚本进行配置。

3.1 基本配置

在 Qt 源码目录下运行以下命令:

./configure -opensource -confirm-license -release -prefix /opt/qt5.15.15 
  • -opensource:指定使用开源许可。
  • -confirm-license:自动确认许可协议。
  • -release:编译release版本。
  • -prefix:安装路径。

如图所示,无任何错误提示,表示配置成功。

3.2 配置特定模块

如果你只需要特定模块,例如不需编译 Qt Webengine 模块,你可以在配置时指定:

./configure -opensource -confirm-license -skip qtwebengine -prefix /opt/qt5.15.15 

-skip 选项用于跳过不需要的模块,减少编译时间。

4. 编译 Qt

配置完成后,就可以开始编译了。编译 Qt 源码可能需要较长时间,具体取决于你的系统性能。

4.1 启动编译

运行以下命令启动编译:

make -j$(nproc)

-j$(nproc) 会根据你机器的 CPU 核心数并行编译,以加快编译速度。如果你想查看进度,可以去掉 -j参数。

4.2 安装编译后的 Qt

编译完成后,可以运行以下命令将编译好的 Qt 安装到指定路径:

sudo make install

4.3 编译Qt文档

make docs

4.3 安装Qt文档

make install_docs

5. 可能遇到的问题及解决方案

5.1 内存不足

如果编译时遇到内存不足的问题,可以尝试减小并行编译的线程数,或者增加交换空间。

总结

通过上述步骤,你可以在 Ubuntu 平台上成功编译并安装 Qt 源码。编译 Qt 虽然耗时较长,但这也让你可以灵活定制功能模块,适应不同的开发需求。如果你在编译过程中遇到问题,可以参考 Qt 官方文档或社区论坛来寻找帮助。

Ubuntu上交叉编译Qt目标平台Arm64 I /usr/src/linux-headers-4.18.0-15/arch/arm64/include \ #目标平台的头文件路径。# modifications to g++.conf 交叉编译器使用绝对路径。5.configure命令设置:#! 阅读详情

相关推荐

交叉编译Qt工程

交叉编译的概念请查看我之前的一篇文章:如何进行交叉编译? 本文的目标是:在Ubuntu20.04上编译Qt程序并在树莓派上运行。 一、树莓派上安装合适的Qt版本 如果你的板子上没有安装Qt,那么请安装对应的Qt版本。这一步非常重要,最好不要自行安装Qt版本,而是要安装发行版经过测试的、兼容的Qt版本。树莓派安装Qt也相当简单: sudo apt-get update sudo apt-get install qt5-default sudo apt-get install qtcreator sudo ap

Fishfishfishfishcat 5988

Ubuntu下编译Qt5.14源码

qt-everywhere-src-5.14.0.tar.xz 是下载的Qt源码 本次编译debug版本的Qt prefix 是一会儿install的路径,如果不制定,就会安装到默认的/usr/local/ 下 debug 是编译

xiaobai_cpp的博客 3212

ubuntu建立Qt Arm 交叉编译环境

文章目录准备环境编译qmake配置Qt Creator编译多个平台引用 准备环境 1)Qt源代码; Qt官网下载源码,名称为qt-everywhere-opensource-src-5.9.7.zip或qt-everywhere-opensource-src-5.9.7.tar.xz 2)Perl: 5.12版本以上 3)Python: 2.7版本以上 4)交叉编译工具链:gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz 网址:http:/

ldhshao的专栏 2176

ubuntu下如何编译Qt程序

(1) 切换到工程文件所在的目录make。

weixin_44899507的博客 1854

Qt5.9.3源码的交叉编译---Jetson TX1

~$mkdir tx1 ~$cd tx1 ~$sudo tar xpf Tegra210_Linux_R24.2.1_aarch64.tbz2 ~$cd Linux_for_Tegra/rootfs/ ~$sudo \ tar xpf ../../Tegra_Linux_Sample-Root-Filesystem_R24.2.1_aarch64.tbz2 ~$cd ../ ~$sudo ./apply_binaries.sh

xiaoqingyi_1014的博客 1万+

Ubuntu14.04下静态编译Qt

一、什么是QtQt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。我刚好是需要在Linux环境下做一个基于图像应用的测试,所以就用到了这个跨平台的框架。二、为什么要静态编译Linux下Qt编译出来的程序是默认动态编译的,C/C++也是默认动态编译的,那为什么需要静态编译呢?1.是个人后面要在gem5平

Kh_13的专栏 5317

QT5.12环境搭建与源码编译

QT5.12环境搭建与源码编译 一、概述 QT版本:QT5.12.10 编译平台 ubuntu 使用平台龙芯LS2K1000、龙芯派 二、安装交叉编译工具链 获取交叉编译工具链 交叉工具链:gcc-4.9.3-64-gnu.tar.gz 安装交叉工具链 tar zxvf gcc-4.9.3-64-gnu.tar.gz -C / 命令执行后,在系统 /opt 目录下会有:gcc-4.9.3-64-gnu 三、QT5.12.10 源码编译 获取QT5.12.10源码 源码:qt-eve

大猫的博客 1万+

使用Ubuntu编译和安装QT源码

然而,有时候我们可能需要从源代码编译和安装QT,以便进行定制化的开发。访问QT官方网站(https://www.qt.io/)并找到适合您的需求的QT版本。上述命令将启动QT的配置向导,并检查系统环境。根据您的需求,可以使用不同的选项来定制编译过程。最后,我们需要设置环境变量,以便系统能够正确找到QT的安装路径。上述命令将把QT的安装路径添加到bashrc文件中,并重新加载bash会话以使更改生效。假设您将源代码解压到/home/user/qt目录下,接下来的步骤将在这个路径下进行。步骤3:配置编译选项。

TechWhizZ的博客 1604

Ubuntu QT 交叉编译环境搭建

下载安装qtCreator 去QT下载官网下载对应需要的QT软件。 这里下载5.12.96版本的 改变安装包权限,然后,sudo运行安装包。 安装在opt目录下 安装完成。到安装路径QtCreator的bin目录中 找到应用的开启程序: 后台运行QtCreator: /opt/Qt5.12.9/Tools/QtCreator/bin/qtcreator.sh & not a valid identifier 的错误 今天上午搭建交叉编译环境,安装arm-linux-gcc时,source

某风吾起的博客 2913

基于ubuntu22.04使用 qmake 对linuxdeployqt进行源码编译生成

基于ubuntu22.04对使用cmake对linuxqtdeploy进行源码编译,最终成功生成 linuxdeployqt可执行程序

十三阿哥的博客 1047

Discuz IIS上传附件大于28M失败报错Upload Failed.修改maxAllowedContentLength(图文教程)

下图:Discuz X3.5的系统信息,上传许可为1024MB(1GB)论坛为局域网论坛,仅供内部同事交流使用!使用官方最新的Discuz! X3.5 Release 20231221 UTF-8 下图:选择上传附件(提示可以最大上传100M) 下图:模拟上传84M的文件(

骚团长的博客 1830

编译 ARM 平台 Qt5.12.9 源码

参考正点原子:08【正点原子】I.MX6U移植Qt5.12.9_V1.1.pdf 手册。

qq_46526760的博客 1011

90nm CMOS工艺下6μW超低功耗LDO设计实战:从原理图到版图全解析

本文详细解析了在90nm CMOS工艺下设计一款静态功耗仅为6μW的超低功耗LDO(低压差线性稳压器)的全过程。文章深入探讨了如何通过改进型翻转电压跟随器(FVF)架构实现无输出电容设计,在满足极低功耗和芯片面积高效(chip-area-efficient)要求的同时,确保环路稳定性与快速瞬态响应,为物联网、可穿戴设备等应用提供关键电源管理解决方案。

weixin_29196613的博客 278

QT ARM交叉编译

arm平台:BeagleBone Black 交叉编译工具:arm-linux-gnueabihf qt源码:qt-everywhere-opensource-src-5.8.0.tar.gz ~$ tar -xzf qt-everywhere-opensource-src-5.8.0.tar.gz ~$ cd qt-everywhere-opensource-src-5.8.0/qtba

kingwan560的专栏 7129

Simulink单相桥式有源逆变电路仿真:从器件选型到波形分析(MATLAB 2018a实战)

本文基于MATLAB 2018a的Simulink平台,详细演示了单相桥式有源逆变电路的完整仿真流程。从Simscape/Power Systems库的器件选型、参数配置,到触发脉冲设置与电路连接,逐步指导搭建仿真模型。通过调整触发角α,直观展示了电路从整流到有源逆变的工作状态切换,并深入分析了负载电压、电流波形,以及逆变颠覆现象的产生条件与特征。

cake8的博客 1162

本地部署静态网站托管平台 Netlify 并实现外部访问(Windows 版本)

Netlify 是一款基于云计算的网站部署和托管平台,专为开发者提供便捷的静态网站和 Jamstack 应用部署服务。它的能力在于将网站构建、部署、托管以及持续集成等流程高度集成,简化了开发和运维的复杂程度。用户无需关心服务器的配置、维护等工作。本文将详细介绍如何在本地安装 Netlify 以及结合路由侠内网穿透实现外网访问 Netlify。

lyxnwct的博客 524

移植Qt到ARM平台及搭建Qt交叉编译环境

前言 写文章的目的是想通过记录自己的学习过程,以便以后使用到相关的知识点可以回顾和参考。 要想在ARM平台上运行Qt程序,得满足以下两个点: 1、ARM平台上搭建Qt运行环境 2、获得通过交叉编译后的Qt可执行文件 一、编译tslib库 从网上下载 tslib 源码压缩包,发送到 Ubuntu 中并解压,进入tslib源码目录,内容如下所示: 执行命令安装以下软件: sudo apt-get update sudo apt-get install autoconf automake libtool 执

qq_43286311的博客 3万+

从BIN文件到可烧录程序:深入理解ADI DSP程序读取背后的原理与安全边界

本文深入探讨了ADI DSP程序从BIN文件到可烧录程序的转换原理与安全边界,详细解析了JTAG接口、仿真器工作流程及Flash存储结构。通过Visual DSP++工具,开发者可以理解程序读取的底层机制,同时强调了知识产权保护的重要性,为嵌入式开发提供了实用建议。

weixin_27956639的博客 264

Qt5之海思交叉编译笔记

一、搭建环境 Win7 + VMware15 + Ubuntu16.04(64位) + Qt5.9.9 交叉工具链:arm-hisiv500-linux- 二、交叉编译 1)下载源码 http://download.qt.io/archive/qt/ 当前我下载了和我的 Qt 同一个版本的源码qt-everywhere-opensource-src-5.9.9.tar.xz 。并将其下载到 Linux 系统下,当前我存放在/home/...

孤鸿独影的博客 2828

智能温室:温室环境监测_(7).土壤监测技术包括pH值和电导率

土壤的pH值是指土壤溶液的酸碱度,它对植物的营养吸收和生长发育有着重要的影响。在智能温室中,土壤监测是非常重要的一个环节,因为土壤的pH值和电导率直接影响植物的生长和健康。本节将详细介绍如何利用传感器和数据处理技术来监测土壤的pH值和电导率,并提供具体的代码示例。在智能温室中,监测到的土壤pH值和电导率数据需要传输到中央控制系统进行进一步的处理和分析。通过以上步骤,您可以构建一个完整的智能温室土壤监测系统,实时监控土壤的pH值和电导率,确保植物在最佳的生长环境中。校准通常包括在已知电导率的标准溶液中进行。

zhubeibei168的博客 1408

【2025软考高级架构师】基础知识部分——6、软件架构设计

(1)架构是对系统的抽象(2)架构由多个结构组成(3)任何软件都存在架构(4)元素及其行为的集合构成架构的内容(5)架构具有“基础”性(6)架构隐含有“决策”

qq837993702的博客 1万+

搭建虚拟机下ubuntu的qt-arm交叉编译工具

自己实践的记录,其中在我的新浪博客上也发表了。 1 需要的工具VWMARE下安装好ubuntu12.04系统(其它版本没有尝试过)。 2 下载好好个安装包:qt-opensource-linux-x86-5.5.0.run(其它版本应该也可以),这个是qt creator安装包,安装好并能正常使用,这个步骤前得先执行sudo apt-get install build-essentia

我欲乘风归去 1214

magic-api的鉴权机制配置 (附实战代码)

引入magic-api及相关数据库驱动依赖 配置yml文件和编辑器JS文件 实现登录鉴权逻辑,包括用户验证和Token处理 接口鉴权拦截器设计,确保接口访问安全性 文章提供了完整的代码示例,帮助开发者快速集成magic-api框架并实现权限控制功能。

码农研究僧的博客 228

【亲测免费】 轻松实现跨平台编译:Ubuntu18.04下Aarch64与arm32的Qt5.12.10交叉编译指南

轻松实现跨平台编译:Ubuntu18.04下Aarch64与arm32的Qt5.12.10交叉编译指南 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在嵌入式开发领域,跨平台编译是一个常见且重要的需求。为了帮助开发者更高效地完成这一任务,我们推出了**Ubuntu18.04实现Aarch64和arm32的交叉编译全步骤(Qt5.12.10源码编译)**项目。该项目提供...

gitblog_06567的博客 705

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Ubuntu中完成Linux环境Qt源码交叉编译并配置Qt环境

Ubuntu下Linux环境编译Qt源码并配置Ubuntu下的Qt开发环境

qianniulaoren的博客 6774

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

移植Qt5.12.9

文章目录一、获取和编译tslib二、编译ARM平台Qt5.12.9源码1. 下载Qt5.12.9源码2. 修改qmake.conf3. 配置编译选项4. 开始编译Qt5.12.9三、移植Qt到文件系统1. 烧写文件系统2. 移植tslib到文件系统1. 测试tslib3. 移植Qt到文件系统4. 配置 Qt5 的环境变量5. 测试 Qt 运行四、搭建ARM平台的Qt Creator环境1. 安装Qt Creator2. 配置ARM平台的Qt Creator Kits3. 验证ARM平台的Qt编译4. 命令行

lengyuefeng212的博客 6310

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

下一篇: Shell脚本为什么首行要加#!/bin/bash
二月上
博客等级 码龄2年 48粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值