Ubuntu20 源码编译安装 QT6.0 教程【有详细图文,亲测可行】

这篇具有很好参考价值的文章主要介绍了Ubuntu20 源码编译安装 QT6.0 教程【有详细图文,亲测可行】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、安装 Ubuntu

Virtual Box 版本: 7.0.6 r155176 (Qt5.15.2)

Ubuntu 版本:20.04.6 (amd64, Desktop LiveDVD)

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

二、安装 QT

# 官方下载
https://download.qt.io/
# 国内镜像下载
https://mirrors.cloud.tencent.com/qt/
https://mirrors-i.tuna.tsinghua.edu.cn

# 参考官方安装文档
https://doc.qt.io/archives/qt-6.0/linux-requirements.html#platform-plugin-dependencies
https://doc.qt.io/archives/qt-6.0/linux-building.html

# 下载 qt6.0
https://mirrors.cloud.tencent.com/qt/archive/qt/6.0/6.0.0/single/qt-everywhere-src-6.0.0.zip

下载后解压,看一下 README 文件指导安装,

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

需要安装环境依赖,

# Perl 5.8 or later => https://www.perl.org/get.html
# Python 2.7 or later
# C++ compiler supporting the C++11 standard

./configure -prefix $PWD/qtbase -opensource -nomake tests
# make -j 4
make
make install 

1、安装 Perl 5.38.0

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

wget https://www.cpan.org/src/5.0/perl-5.38.0.tar.gz
tar -zxvf perl-5.38.0.tar.gz
cd perl-5.38.0/
./Configure -des -Dprefix=$HOME/localperl
make test
make install

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

2、安装 gcc

sudo apt install gcc-9 g++-9

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

或者直接安装 GNU 集合,

sudo apt install build-essential

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

3、安装 Openssl

# https://www.openssl.org/source/
sudo apt install zlib1g-dev

# https://www.openssl.org/source/openssl-3.0.10.tar.gz
wget https://www.openssl.org/source/openssl-3.0.10.tar.gz
tar -zxvf openssl-3.0.10.tar.gz
cd openssl-3.0.10
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
make -j 4
make install

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

4、安装 python

# 安装依赖
sudo apt install libffi-dev
sudo apt install libgdbm-dev

tar -zxvf Python-3.8.8.tgz
cd Python-3.8.8/
./configure --prefix=/usr/local/python3 --with-ssl 
make -j 4
make install

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

5、安装 QT

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

报错,这是不同系统编码格式导致,

bash: ./configure: /bin/sh^M: bad interpreter: No such file or directory

解决:重置文件编码,

sudo apt-get install vim
vim configure
:set ff
:set ff=unix

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

报错 cmake: not found ,需要安装 Cmake, 

# https://cmake.org/download/
# 解压
tar -zxvf cmake-3.27.0.tar.gz
# 进入目录
cd cmake-3.27.0
# 安装
./bootstrap && make -j4 && sudo make install

 报错 Could NOT find OpenSSL ,需要安装 OpenSSL 依赖库,

sudo apt-get install libssl-dev

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

Cmake 安装完毕,重新配置 QT ,报错 LLVM and Clang C++ libraries have not been found ,

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

# 解决 https://clang.llvm.org/get_started.html

# 安装 git
sudo apt-get install git
# 克隆源代码
#git clone --depth=1 https://github.com/llvm/llvm-project.git
git clone -b llvmorg-15.0.7 https://gitee.com/openeuler/llvm-project.git
# 进入目录
cd llvm-project
# 新建 build 目录
mkdir build 
# 进入 build 目录
cd build
# 配置
cmake -DLLVM_ENABLE_PROJECTS=clang -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" ../llvm
# 编译
make
# 安装
sudo make install

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

安装 LLVM 完毕,重新配置 QT,遇到 OpenGL 报错,

RROR: The OpenGL functionality tests failed!  You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL[_ES2], QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2] in the mkspec for your platform.

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

解决,安装依赖,

sudo apt install libgl1-mesa-dev 
sudo apt install libglu1-mesa-dev

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

安装依赖后,要先清除配置缓存后重新配置,配置成功,然后执行编译安装,

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

报错 undefined reference to `typeinfo for clang::ASTConsumer',原因是 LLVM/Clang is built with RTTI disabled by default,

解决:修改 LLVM 配置,重新编译安装 LLVM,

# 配置
cmake -DLLVM_ENABLE_RTTI=On -DLLVM_ENABLE_PROJECTS=clang -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" ../llvm
# 开启 RTTI 编译
make -j4 REQUIRES_RTTI=1

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

./configure -prefix $PWD/qtbase -opensource -nomake tests

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

# make -j4 可能会报错,编译时切换一下命令
cmake --build . --parallel

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

sudo make install

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

三、安装 QT Creator 

# 下载
wget https://mirrors-i.tuna.tsinghua.edu.cn/qt/official_releases/qtcreator/11.0/11.0.2/qt-creator-opensource-linux-x86_64-11.0.2.run

# 添加执行权限
chmod +x qt-creator-opensource-linux-x86_64-11.0.2.run

# 安装依赖库
sudo apt-get install --assume-yes xfce4 xorg-dev libopencc2 libopencc2-data unzip zip
sudo apt install --reinstall libxcb-xinerama0

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

# 指定安装目录
/home/sam/qtcreator-11.0.2

 qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

四、简单示例

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

运行,报错找不到插件 "xcb",

qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc.

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

开启 Debug 模式,在项目中添加环境变量,

# 配置项目变量
QT_DEBUG_PLUGINS=1

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

可以看到,搜索的是 QT 编译源码的目录路径,但实际上,QT Creator 安装目录下是有这个插件库的,尝试配置为 QT Creator 目录下的插件路径,

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

# 配置项目变量
QT_QPA_PLATFORM_PLUGIN_PATH=/home/sam/qtcreator-11.0.2/lib/Qt/plugins/platforms

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

然而,QT Creator 目录下的插件路径并不生效,

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

最后解决方案:安装 XCB 库,

sudo apt install xcb

或者源码编译安装,

# 参考官方文档 https://xcb.freedesktop.org/DevelopersGuide/

# 先安装软件包
sudo apt-get install gcc git make automake autoconf libtool pkg-config libpthread-stubs0-dev libxml2-dev

# 安装依赖库
sudo apt-get install libxcb-util-dev
sudo apt-get install libxau-dev
sudo apt-get install libx11-dev

# 下载
wget https://xorg.freedesktop.org/archive/individual/proto/xcb-proto-1.15.tar.gz
wget https://xorg.freedesktop.org/archive/individual/lib/libxcb-1.15.tar.gz

# 解压
tar -zxvf xcb-proto-1.15.tar.gz
tar -zxvf libxcb-1.15.tar.gz

# 安装
cd xcb-proto-1.15/
./configure && make && sudo make install

cd libxcb-1.15/
./configure && make && sudo make install

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

# 默认在系统路径下
/usr/local/include/xcb
/usr/local/lib

配置环境变量,

# 配置环境变量 LD_LIBRARY_PATH
sudo vim /etc/profile
export LD_LIBRARY_PATH=/usr/local/lib
# 使配置生效
source /etc/profile

# 或者注册库
sudo vim /etc/ld.so.conf
# 在底部添加
/usr/local/lib
# 重新加载
sudo /sbin/ldconfig

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

重新配置编译 QT,加上参数 -xcb ,不同版本的配置通过 ./configure --help 来配置参数,

# 配置
./configure -prefix $PWD/qtbase -opensource -xcb -nomake tests

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

注意,配置信息一定要有 XCB yes 的提示,如果安装了 X11 依赖还是没有 yes,则使用 ninja 编译,

# X11 依赖参考 https://doc.qt.io/archives/qt-6.0/linux-requirements.html#platform-plugin-dependencies

# 使用 ninja
sudo apt install ninja-build

# 重新配置
./configure -prefix $PWD/qtbase -opensource -nomake tests -xcb

# 编译安装
cmake --build . --parallel 4

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

最终编译安装之后的插件产物有  libqxcb.so !

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

重新编译运行项目,正常启动!

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

五、总结

1、安装 Perl 、Python 、C++ compiler、Openssl、Cmake、LLVM、OpenGL 软件包与依赖

2、安装官网文档安装 X11 依赖

qt6 源码编译 ubuntu,禅与QT,禅与运维,ubuntu,linux,运维

3、安装 XCB、ninja 

4、配置 QT 要有 -xcb 参数

./configure -prefix $PWD/qtbase -opensource -nomake tests -xcb

5、检查配置文件的 QPA 的 XCB 模块是否开启

6、使用 Cmake 编译安装 QT

7、安装 QT Creator ,配置组件 QT 路径文章来源地址https://www.toymoban.com/news/detail-768940.html

到了这里,关于Ubuntu20 源码编译安装 QT6.0 教程【有详细图文,亲测可行】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ubuntu20安装并配置OpenVINO【图文教程】

    最近因为个人工作上的变动、更文频次降低了不少哈 本次博文为一份存稿、可能有些细节还需要补充、敬请查阅、指点 🍊 模型部署之转换-加速-封装 🍊 目标检测-模型部署 – 物有所值的一个 AI 工程化 落地专栏 近些年、云原生技术相关概念越来越火热,如何把 AI 模型 高

    2024年02月04日
    浏览(37)
  • 史上最全最新Ubuntu20.04安装教程(图文)

    总的来说,安装Ubantu包含以下三个步骤: 一、安装虚拟机 二、Ubuntu镜像下载 三、虚拟机配置 一、安装虚拟机 选择安装VMware Workstation,登录其官网下载安装包,链接如下: 下载 VMware Workstation Pro​www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html​编辑 下载后运行安

    2024年02月05日
    浏览(36)
  • VS2022配置QT6.4.3的详细步骤(2023年最新版安装教程)

         本文包含了 QT在线安装器的安装过程,QT的安装过程,QT的环境配置,VS的环境配置 QT在线安装器的百度云资源 希望可以帮助大家解决安装过程中出现的各种问题。         前些天,听完了C++的基础课程想下载个QT学一下前端操作,但是在安装的时候却出现了一些问题,

    2023年04月26日
    浏览(50)
  • ubuntu x86搭建 麒麟arm QT6交叉编译

    近期项目需求开发平台是unbuntu x86,目标机器是UOS arm架构,由于需要在不同平台上使用程序,需要建立基于QT6.32的交叉编译平台 交叉编译器 https://blog.csdn.net/zhang421412170/article/details/110952705 下载 gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz(因为我这里用的是linux平台进行编译,需要

    2024年02月13日
    浏览(37)
  • Ubuntu 20.04源码编译安装OpenCV 4.7.0

    目录 前言 1--下载OpenCV 4.7.0 2--编译安装OpenCV 4.7.0 3--测试 3-1--查看安装的版本 3-2--基于VSCode和CMake测试项目 4--报错解决(重点!) 4-1--OpenCV与FFmpeg不兼容 4-2--LIBTIFF报错 4-3--系统与Anaconda的库lib冲突 4-4--测试时CMake的find_package报错         建议先看第4节相关报错及解决方法,再

    2024年01月16日
    浏览(64)
  • 使用 Qt6-mingw 编译 OpenCV 源码

    Qt 6.6.0 win11 x86_64 网址: https://cmake.org/download/ 选择对应的版本下载 将 cmake.exe 所在的 bin 目录添加到环境变量中 网址: https://opencv.org/releases/ 选择对应的版本下载 Source资源包 解压 “opencv-4.9.0.zip”, 将其解压的 “opencv-4.9.0” 存放到指定路径 “Path” (例如在我的电脑上 “Path”

    2024年01月24日
    浏览(38)
  • Ubuntu虚拟机图文安装详细教程

    Hello, 小伙伴们,大家好!今天教大家一步一步进行ubuntu虚拟机的安装。俗话说的好:“工欲善其事必先利其器”,作为一名嵌入式软件开发人员,我们必须熟悉Linux系统的操作及使用,熟练掌握Linux系统下的开发,才能在工作中游刃有余。为什么我们选择Ubuntu系统,对于开发

    2024年02月15日
    浏览(27)
  • Deepin20.9 在线安装qt6.5.1

    $ wget https://ftp.fau.de/qtproject/official_releases/online_installers/qt-unified-linux-x64-online.run --2023-06-05 18:06:03--  https://ftp.fau.de/qtproject/official_releases/online_installers/qt-unified-linux-x64-online.run $ sudo apt update $ sudo apt upgrade $ sudo apt -y install build-essential libgl1-mesa-dev gdb libxcb-util1 git chmod +x qt-unified-l

    2024年02月08日
    浏览(49)
  • 【Windows11通过移动硬盘安装Ubuntu20.04双系统】保姆级教程 | ventoy | BIOS | Ubuntu20.04 | 全过程图文by.Akaxi

    目录 一、查看Windows引导方式 二、制作安装盘 三、设置电脑配置 1.关闭bitlocker 2.压缩硬盘分区 3.关闭Secure Boot 4.关闭intel RST 5.BIOS设置U盘引导 四、安装Ubuntu20.04 1.ventoy引导 2.安装配置 3.安装类型 4.完成安装 更多细节 最终效果: 笔记本在Windows11系统下成功安装Ubuntu20.04,并且可

    2024年03月20日
    浏览(61)
  • Ubuntu-Server 22.04.4 详细安装图文教程

    下载Ubuntu Server镜像,官方地址下载即可 1、选择 Try or Install Ubuntu Server 2、 语言选择英语 3、键盘默认就行 4、选择默认第一个(会自带一些组件,方便使用) 5、网络配置,使用 DHCP 或者 静态IP(建议这里设置好静态IP,如果选择DHCP,则在此界面直接选择 Done 后回车即可)。

    2024年04月24日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包