【开发环境】Ubuntu 18.04 搭建 QT编译环境详细步骤 【亲测有效】

news2025/2/25 9:28:12

目录

1 查看Ubuntu系统中Qt版本

2 下载Ubuntu系统Qt版本安装包

3 Qt安装

3.1 Qt 安装步骤

3.2 安装qt发现Ubuntu空间不足,怎么去扩容呢?

3.2.1 硬盘操作步骤(需要关闭虚拟机进行操作)

3.2.2 Ubuntu命令操作:安装分区管理工具

3.3 解决Ubuntu空间不足后,继续安装Qt

4 运行Qt工程

5 Qt中UI的使用


1 查看Ubuntu系统中Qt版本

        查看Ubuntu系统中安装的Qt版本,可以通过命令行输入以下命令来实现:

qmake -v

qmake --version

        若系统中安装Qt开发环境,会显示Qt的版本信息,包括Qt版本号、Qt库类型和Qt库版本号等。

请注意,如果系统中没有安装Qt开发环境,则无法查看Qt的版本信息。

        这里可以看到我的Ubuntu系统中并未安装 Qt开发环境。

2 下载Ubuntu系统Qt版本安装包

        下载网址:Index of /archive/qt

        这里为了保持和Windows系统的Qt版本的一致性,我选择下载5.12.6版本的linux版本,你可以根据你的需求下载相应版本。

3 Qt安装

3.1 Qt 安装步骤

1.将压缩包复制到root用户的home/fangjing的目录下
2.qt安装,默认安装在"/opt/qt5.12.6"路径下
sudo ./qt-opensource-linux-x64-5.9.8.run
3.开始安装步骤
4.根据自己的需求勾选Qt安装模块:
开发库    
说明
Desktop gcc 64-bit
这是使用桌面版 GCC 64-bit 编译环境生成的 Qt 库,是 Qt 的核心,必须安装。注意,虽然名字看起来像是 GCC 编译器套件,但实际上说的是 Qt 库的编译环境。大部分 Linux 发行版都会预装 GCC 编译器套件,所以 Qt 安装包没必要附带它们。
Android ***
    这是针对安卓应用开发的 Qt 库,如果读者有安卓开发这方面需求可以自己选择安装,一般情况下用不到。
Sources
Qt 的源代码包,除非你想阅读 Qt 的源码,否则不用安装。
Qt ***
  Qt 的附加模块,大部分建议安装,这些附加模块括号里的 TP 是指 Technology Preview ,技术预览模块的意思,还处在功能测试阶段,不是正式版模块;附加模块括号里的 Deprecated 是指抛弃的旧模块,兼容旧代码使用的,一般用不到。这些附加模块读者可以选择部分或都勾选了安装,占用空间不大。
5.空间不足,无法安装

3.2 安装qt发现Ubuntu空间不足,怎么去扩容呢?

3.2.1 硬盘操作步骤(需要关闭虚拟机进行操作)

第一步:点击【硬盘】
第二步:点击【扩展】
第三步:修改【最大磁盘容量大小】
选择一个自己认为比较合适的大小。此时只是在Ubuntu系统上有分区,还没有扩容到内存中去。

3.2.2 Ubuntu命令操作:安装分区管理工具

第一步:打开分区管理工具
  • 使用命令安装分区管理工具gparted:
sudo apt-get install gparted
安装分区管理工具gparted失败:终端使用命令:sudo apt-get install gparted 安装gparted工具时出现报错,提示无法下载,因为无法解析域名”cn.archive.ubuntu.com“
推测是网络出现了问题:VMware Ubuntu 18.04 无法连接网络,显示无法连接到XXX服务器问题
安装分区管理工具gparted失败的解决方案:
(1)打开系统的计算机管理
(2)找到服务和应用程序 ,点击服务
(3)找到VMware开头的名称,把所有Vmware开头的服务启动(如果是正在启动的就选择重新启动)
(4)重新启动Ubuntu虚拟机,网络就恢复正常可以使用啦
附:网络适配器这里最好选择NAT模式
通过上述解决方案,安装分区管理工具gparted成功!
  • 使用命令启动分区管理工具
sudo gparted
可以看出未分配为20GiB。
第二步:右键点击【linux-swap]
打开软件,将linux-swap、extend分区删掉,不删的话无法重置sda1主分区大小。
不存在linux-swap、extend分区的话,可忽略第二步,直接进入第三步。
第三步:右键点击【/dev/sda1】
拉取调整大小:
重置sda1的大小后,此时就可以从新调整/dev/sda1磁盘的大小。
然后再次将新建一个一个extend分区,然后在extend分区下在建一个swap分区,点击上方绿色的对号保存即可。
第四步: 保存分区修改
第五步:分区结果展示

3.3 解决Ubuntu空间不足后,继续安装Qt

不再显示磁盘空间不足,可继续安装Qt5.12.6

4 运行Qt工程

在命令行终端中通过命令打开 QtCreator, 进入QtCreator的目录,直接在命令行启动:
# 1. 进入安装目录
cd /opt/Qt5.12.6/Tools/QtCreator/bin/  
# 2. 运行QtCreator
./qtcreator.sh
调出QtCreator UI图形界面:

Qt中UI的使用

1.创建一个应用工程
2.新建Qt工作目录Qt_WorkSpace
3. 设置工程名称以及工程路径(工程名切忌中文命名)
4. 默认点击下一步
5. 勾选ui用于设计界面
6. 默认点击下一步
7. 点击完成进入工程
8.选中构建目录
9.重新设置构建目录
    方便工程生成的文件统一管理。
10.设计UI界面
11.编译运行报错
12.解决编译运行报错
编译Qt项目发现提示:“-1:error:cannot find -IGL 错误”,使用下面命令以后重新运行可以解决
sudo apt-get install libgl1-mesa-dev
13.编译运行成功
再次编译项目,运行成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1528937.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于单片机的模糊PID炉温控制系统设计

摘 要 电热炉是在工业热处理的生产中广泛使用的一种设备,电热炉的温度控制系统存在时变性,非线性,滞后性等特征,难以用常规PID的控制器对系统达到很好的控制效果。当控温精度的要求高时,使用传统的控制理论方法难以达…

蓝桥杯刷题|03普及-真题

[蓝桥杯 2017 省 B] k 倍区间 题目描述 给定一个长度为 N 的数列,​,,⋯,如果其中一段连续的子序列 ​,,⋯ (i≤j) 之和是 K 的倍数,我们就称这个区间 [i,j] 是 K 倍区间。 你能求出数列中总共有多少个 K 倍区间吗? 输入格式 …

微服务高级篇(一):微服务保护+Sentinel

文章目录 一、初识Sentinel1.1 雪崩问题及解决方案1.2 微服务保护技术对比1.3 Sentinel介绍与安装1.4 微服务整合Sentinel 二、Sentinel的流量控制三、Sentinel的隔离与降级四、Sentinel的授权规则五、规则持久化5.1 规则管理模式【原始模式、pull模式、push模式】5.2 实现push…

第二十六节 Java 重写(Override)与重载(Overload)

重写 (Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写!返回值和形参都不能改变。即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。…

面试算法-48-二叉树的锯齿形层序遍历

题目 给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历 。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 示例 1: 输入:root [3,9,20,null,…

从Excel到山海鲸:我的数据可视化升级之旅

作为一名新用户,我最近有幸体验了山海鲸可视化软件,近期山海鲸可视化产品开放了可视化编辑全部功能,并支持本地化部署功能,在使用过程中它不仅打开了我对数据可视化全新世界的大门,而且在实际操作中为我带来了不少惊喜…

【C语言】数据在内存中的存储(包含大小端字节序问题)~

一、前言 我们在刚开始学习C语言的时候,就接触到了很多数据的不同类型。我们也知道,数据是存储在一块内存空间的,且我们只知道数据的类型决定着,该数据在内存中所占内存空间的大小,且超过一个字节的数据在内存中存储的…

【NLP笔记】Transformer

文章目录 基本架构EmbeddingEncoderself-attentionMulti-Attention残差连接LayerNorm DecoderMask&Cross Attention线性层&softmax损失函数 论文链接: Attention Is All You Need 参考文章: 【NLP】《Attention Is All You Need》的阅读笔记 一…

安科瑞智慧安全用电云平台【无人化数据监控 远程控制 运维管理】

背景 在住宅火灾中,电气引发的居高不下,已查明原因的火灾中有52%系电气原因引起,尤其是各类家用电器、电动车、电气线路等引发的火灾越来越突出,仅电动自行车引发的较大火灾就有7起。这些事故暴露出电器产品生产质量、流通销售&a…

引领展览新风尚:一站式搭建VR在线展馆,开启数字化展示新纪元

随着VR技术的不断成熟和普及,VR在线展馆已成为企业和用户展示展品的新颖方式。这种技术不仅能够提供沉浸式的观展体验,还能帮助企业和个人快速搭建属于自己的虚拟展馆。元居虚拟空间布展平台为用户提供了快速搭建VR在线展馆的便捷服务。 一、VR在线展馆的…

vue3+vite项目打包遇到的问题

一、项目打包出现空白页 vite.config.js中,添加base: ./ import { defineConfig } from vite import vue from vitejs/plugin-vueexport default defineConfig({base: ./, })router/index.js,将路由模式改成hash模式 import { createRouter, createWe…

4G/5G视频记录仪_联发科MTK6765平台智能记录仪方案

视频记录仪主板采用了联发科MT6765芯片,该芯片采用12nm FinFET制程工艺,8*Cortex-A53架构,搭载安卓11.0/13.0系统,主频最高达2.3GHz,待机功耗可低至5ma,并具有快速数据传输能力。配备了2.4英寸高清触摸显示…

YOLOv5独家改进:block改进 | RepViTBlock和C3进行结合实现二次创新 | CVPR2024清华RepViT

💡💡💡本文独家改进:CVPR2024 清华提出RepViT:轻量级新主干!从ViT角度重新审视移动CNN,RepViTBlock和C3进行结合实现二次创新 改进结构图如下: 收录 YOLOv5原创自研 https://blog.csdn.net/m0_63774211/category_12511931.html 💡💡💡全网独家首发创…

2024:存量时代,内容平台如何“发新芽”?

今年年初,腾讯董事会主席马化腾表示,微信这棵老树如何发新芽,是一个很大的问题。 在互联网存量时代,如何提升效率焕发新活力,已经成为内容平台共同的命题。本质上看,这需要平台把握“三重法则”&#xff1…

【STM32+HAL】DMA应用

一、串口DMA收发 1、串口初始化 2、定义全局变量 #define RXBUFFERSIZE 256uint8_t rx_buffer[RXBUFFERSIZE];//接收数组 volatile uint8_t rx_len 0; //接收到的数据长度 volatile uint8_t recv_end_flag 0; //接收结束标志位 3、开启IDLE中断以及串口DMA接收 /* USER COD…

numpy的数组深度叠加dstack详解

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython 一、引言 numpy的dstack函数用于沿着第三个维度(深度)将数组堆叠起来。它将多个数组按照深度方向进行堆叠,生成一个新的数组。具体来说,dstack函数会将输入的…

【网络原理】HTTP协议和使用Fiddler抓包

文章目录 🍃HTTP协议是什么?🍀理解 "应用层协议"🎍HTTP 协议的工作过程🌴HTTP 协议格式🌳Fiddler抓包工具的使用🌸如何抓HTTPS的包? 🎋抓包工具的原理&#x1…

直观与交互:山海鲸可视化软件与Excel传统表格的对比

作为一名长期使用Excel进行数据处理和分析的用户,最近我尝试了一款名为山海鲸的可视化软件,发现它与Excel传统表格之间存在诸多明显的差异。接下来,我将从个人体验视角出发,谈谈这两种工具的不同之处。 首先,从数据呈…

HashMap设置初始容量为17,那么它的实际容量是多少?

典型回答 即使初始化 HashMap 的容量为 17,那么它的实际容量却是 32。 这是因为 HashMap 的容量只能为 2 的 N次方,这是 HashMap 的源代码中的实现,无论用户输入的是多少,它总会通过计算,得到第一个比他大的2的N 次方…

cc-uploadSomePic图片上传组件:快速开发与用户体验的提升

cc-uploadSomePic图片上传组件:快速开发与用户体验的提升 摘要: 在前端开发中,图片上传功能是一个常见的需求。为了提高开发效率和用户体验,我们开发了一个名为cc-uploadSomePic的图片上传组件。该组件支持单个或多个文件上传&am…