Linux下以编译源码的方式安装Qt5与Qt6及其使用

news2024/11/24 6:56:27

文章目录

      • 概要
      • 资源下载
      • 依赖安装
      • 编译
        • Qt5
        • Qt6
      • 遇到的问题
      • qtchooser
      • 使用

概要

  • 自 Qt 5.15 开始,不再提供 open source offline installers,也就是原来的 .run 的安装文件,只能通过源码编译来安装了
  • 参考文章

资源下载

  • 源码网址,链接为Qt的资源,根据自己选择下载
  • 例如
# 下载源码和源码的 md5 校验码  找你需要的版本
wget https://download.qt.io/official_releases/qt/6.5/6.5.3/single/qt-everywhere-src-6.5.3.tar.xz
wget https://download.qt.io/official_releases/qt/6.5/6.5.3/single/md5sums.txt
# 校验
md5sum qt-everywhere-opensource-src-6.5.3.tar.xz
# 解压并进入目录
tar -xvf qt-everywhere-opensource-src-6.5.3.tar.xz
cd qt-everywhere-src-6.5.3/

依赖安装

  • 以下命令涵盖了大部分基础编译的依赖项
sudo apt install bison build-essential flex gperf libasound2-dev libatkmm-1.6-dev libbz2-dev libcap-dev libcups2-dev libdrm-dev libegl1-mesa-dev libfontconfig1-dev libfreetype6-dev libglu1-mesa-dev  libicu-dev libnss3-dev libpci-dev libpulse-dev libssl-dev libudev-dev libx11-dev libx11-xcb-dev libxcb-composite0 libxcb-composite0-dev libxcb-cursor-dev libxcb-cursor0 libxcb-damage0 libxcb-damage0-dev libxcb-dpms0 libxcb-dpms0-dev libxcb-dri2-0 libxcb-dri2-0-dev libxcb-dri3-0 libxcb-dri3-dev libxcb-ewmh-dev libxcb-ewmh2 libxcb-glx0 libxcb-glx0-dev libxcb-icccm4 libxcb-icccm4-dev libxcb-image0 libxcb-image0-dev libxcb-keysyms1 libxcb-keysyms1-dev libxcb-present-dev libxcb-present0 libxcb-randr0 libxcb-randr0-dev libxcb-record0 libxcb-record0-dev libxcb-render-util0 libxcb-render-util0-dev libxcb-render0 libxcb-render0-dev libxcb-res0 libxcb-res0-dev libxcb-screensaver0 libxcb-screensaver0-dev libxcb-shape0 libxcb-shape0-dev libxcb-shm0 libxcb-shm0-dev libxcb-sync-dev libxcb-sync1 libxcb-util-dev libxcb-util0-dev libxcb-util1 libxcb-xf86dri0 libxcb-xf86dri0-dev libxcb-xfixes0 libxcb-xfixes0-dev libxcb-xinerama0 libxcb-xinerama0-dev libxcb-xkb-dev libxcb-xkb1 libxcb-xtest0 libxcb-xtest0-dev libxcb-xv0 libxcb-xv0-dev libxcb-xvmc0 libxcb-xvmc0-dev libxcb1 libxcb1-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxext-dev libxfixes-dev libxi-dev libxrandr-dev libxrender-dev libxslt1-dev libxss-dev libxtst-dev perl ruby  python-is-python2 llvm libclang-dev zstd dbus libpango1.0-dev libcogl-pango-dev libjpeg-dev libdbus-1-dev libdbus-glib-1-dev
sudo apt install libfontconfig1-dev libfreetype6-dev libx11-dev libx11-xcb-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev  libxkbcommon-dev libxkbcommon-x11-dev

编译

Qt5
./configure
# 键入 o 选择 open source 编译
# 键入 y 选择接受 license
sudo make -j8
sudo make install
Qt6
sudo cmake --build . --parallel
sudo cmake --install .
  • 编译后安装在/usr/local/xxx

遇到的问题

  • 编译QT5时遇到报错Project ERROR: Library 'assimp' is not defined. make[4]: *** [Makefile:85:sub-assimp-install_subtargets] 错误 3
    在这里插入图片描述
    解决方案思路
  • 修改改路径下文件
    在这里插入图片描述

在这里插入图片描述

  • 为以下内容
    在这里插入图片描述

qtchooser

  • qtchooser 是管理 Qt 版本的工具
sudo apt install qtchooser
# 其中 qt5.15.11 是我们给版本的命名, 后面的地址根据安装位置确定 (更换版本同理)
qtchooser -install qt5.15.11 /usr/local/Qt-5.15.11/bin/qmake
# 设置环境变量, 启用 qt5.15.11, 这个要与我们的命名保持一致
sudo vim /etc/profile
# 最后补充 
export QT_SELECT=qt5.15.11

在这里插入图片描述

使用

  • 打开QtCreator,添加好qmake即可使用
    在这里插入图片描述

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

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

相关文章

【C语言复习】分支和循环

【C语言复习】分支和循环 1. if语句1.1 if1.2 else1.3分支中包含多条语句1.4嵌套if1.5悬空else问题 2.关系操作符3. 条件操作符4.逻辑操作符:&& 、|| 、!4.1 逻辑取反运算符4.2 与运算符4.3或运算符4.4 练习:闰年的判断4.5短路 5.switch 语句5.1…

【黑苹果】记录MacOS升级Sonoma的过程

【黑苹果】记录MacOS升级Sonoma的过程 一、硬件二、提前说明三、准备OC四、选择驱动五、选择ACPI六、下载内核扩展七、其他问题 一、硬件 设备是神舟zx6-ct5da 具体参照下图 二、提前说明 本机器已经安装过 macOS Monterey 12.6,这次是升级到 macOS Sonoma 14。 …

GoogLeNet,代码示例,辅助分类器,Inception

亮点: 引入了Inception结构(融合不同尺度的特征信息) 使用1x1的卷积核进行降维以及映射处理 添加两个辅助分类器帮助训练 丢弃全连接层,使用平均池化层(大大减少模型 参数) GoogLeNet的网络连接图&…

LInux学习FreeType编程

文章目录 使用freetype 显示一个文字使用 freetype 显示一行文字了解笛卡尔坐标系每个字符的大小可能不同怎么在指定位置显示一行文字freetype 的几个重要数据结构1、**FT_Library**结构体2、FT_Face结构体3、FT_GlyphSlot结构体4、FT_Glyph结构体5、FT_BBox结构体 读懂显示一行…

Linux运维_Apache更改默认网站目录

1.首先创建目录 并且在目录下新建测试文件 index.html mkdir -p /home/test/ap_web 直接wget 百度官网 wget www.baidu.com 2.编辑配置文件 /etc/apache2/sites-available/000-default.conf(找到 DocumentRoot)更改为刚刚创建的目录 接着在添加 最终文件: 3.给文件 添加属…

Nacos配置管理和Nacos集群配置

目录 Nacos作为配置中心实现配置管理 统一配置管理 如何在nocas添加配置文件 在微服务拉取nacos配置中心的配置 1)引入nacos-config依赖 2)添加bootstrap.yaml 3)测试,读取nacos配置中心中配置文件的内容 ​编辑 总结&…

在Spring Boot中具有多个实现的接口正确注入的六种方式

​ 博客主页: 南来_北往 系列专栏:Spring Boot实战 在Spring Boot中,当一个接口具有多个实现时,正确地将这些实现注入到需要使用它们的地方是一个常见的需求。以下是在Spring Boot中实现这一目标的六种方式: 1. 使用Autowir…

maven聚合ssm

如果没有写过ssm项目请移步SSM后端框架搭建(有图有真相)-CSDN博客 数据库准备 create table user (id int (11),uid varchar (60),name varchar (60),age int (11),sex varchar (12) ); insert into user (id, uid, name, age, sex) values(10,202409…

小米电机与STM32——CAN通信

背景介绍:为了利用小米电机,搭建机械臂的关节,需要学习小米电机的使用方法。计划采用STM32驱动小米电机,实现指定运动,为此需要了解他们之间的通信方式,指令写入方法等。花了很多时间学习,但网络…

LINUX网络编程:cookie和session

目录 1.cookie 1.2.cookie原理 1.3.cookie的格式以及字段 字段介绍: 完整的cookie 1.4.cookie的安全问题 2.session 2.2session的原理 1.cookie 在大家在浏览b站的时候,都会发现一个问题,当我们登录过一次之后,下次点开b站…

2024年最新Stable Diffusion模型资源合集!附整合安装包!

(模型资源在ComfyUI、WebUI以及ForgeUI中都通用) 之前的Stable Diffusion笔记受到了不少小伙伴的关注,很感谢大家的建议和支持。有很多小伙伴私信我问我一些AI绘画的模型资源在哪来下载,一般来说有两个网站比较常用,分…

位操作解决数组的花样遍历

文章目录 题目 一、思路: 二、代码 总结 题目 leetcodeT289 https://leetcode.cn/problems/game-of-life/description/ 一、思路: 这题思路很简单,对每个位置按照题目所给规则进行遍历,判断周围网格的活细胞数即可。但是题目要求…

【LVGL快速入门】SquareLine Studio安装教程(LVGL官方工具)

一.简介与导航: SquareLine Studio是由LVGL官方开发的一款UI设计工具,采用图形化进行界面UI设计,轻易上手。 SquareLine Studio官方网址:https://squareline.io/SquareLine Studio官方文档:https://docs.squareline.io…

太阳能电池特性及其应用

中南民族大学-通信工程2024-大学物理下实验 目录 代码实现结果显示 🛠工具使用 MarsCode(插件,集成在PyCharm); python编程(豆包AI智能体) 💻编程改进 此处是用「Matplotlib」来作图…

Monkey测试工具大盘点!如何选怎么用全整明白了!

什么是Monkey测试? 以下是官方说法: Monkey 测试是通过向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对应用程序客户端的稳定性测试;这种随机性可以模拟真实用户的行为&#x…

理解Web3的互操作性:不同区块链的连接

随着Web3的迅速发展,互操作性成为区块链技术中的一个核心概念。互操作性指的是不同区块链之间能够无缝地交流和共享数据,从而实现更加高效和灵活的生态系统。本文将探讨Web3中互操作性的意义、面临的挑战以及未来的发展趋势。 1. 互操作性的意义 在Web…

优达学城 Generative AI 课程3:Computer Vision and Generative AI

文章目录 1 官方课程内容自述第 1 课:图像生成简介第 2 课:计算机视觉基础第 3 课:图像生成与生成对抗网络(GANs)第 4 课:基于 Transformer 的计算机视觉模型第 5 课:扩散模型第 6 课&#xff0…

利用AI大模型,增强你的DevOps!

前言 自从去年春天ChatGPT问世之后,互联网也掀起了拥抱AI的浪潮,不仅是各大头部大厂相继发布大模型产品,在开发者的Coding过程中也紧跟时代,一些热门插件也纷纷受到了开发者的青睐,比如GitHub Copilot的智能代码生成。…

数据结构编程实践20讲(Python版)—05二叉树

本文目录 写在前面:大“树”下好乘凉定义主要术语基本特征主要应用领域:05 二叉树Binary treeS1 说明S2 示例S3 二叉树类型(1)满二叉树(Perfect Binary Tree)(2)完全二叉树(Complete Binary Tree)(3)二叉搜索树(Binary Search Tree)(4)平衡二叉树(Balanced Bin…

Windows环境NodeJS下载配置安装运行

Windows环境NodeJS下载配置安装运行 (1)下载 Node.js — Run JavaScript Everywhere 安装文件。 一路傻瓜式安装。 如果安装正常,输入命令可显示版本号: (2)可以查询nodejs默认的后续依赖安装包位置及缓存…