ubuntu在arm平台下编译安装Qt5.15.2和PySide2(亲测可用)

news2025/1/19 11:07:33

一、安装Qt5.15.2

1.下载源码首先在官网下载Qt5.15.2的源码:https://download.qt.io/archive/qt/5.15/5.15.2/single/
在这里插入图片描述

2.先安装编译qt的环境

sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libglu1-mesa-dev
sudo apt-get install freeglut3-dev
sudo apt-get install gdb
sudo apt-get install cmake
sudo apt-get install libxcb-xinerama0-dev
sudo apt-get install libfontconfig1-dev
sudo apt-get install libfreetype6-dev
sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev

在编译前,先检查一下本机是否有安装交叉编译工具,我们这里选用的交叉编译工具是aarch64-linux-gnu-g++ ,
在终端输入aarch64-linux-gnu- 然后按两次tab键 会看到下面列表,说明本机已经安装过了.
如果没有的话,需要先安装,可以通过命令先查看有哪些版本可以安装:sudo apt-cache search aarch64
3. 解压
输入命令 xz -d qt-everywhere-src-5.15.2.tar.xz 先将 qt-everywhere-src-5.15.2.tar.xz解压成qt-everywhere-src-5.15.2.tar
然后输入命令 tar xvf qt-everywhere-src-5.10.1.tar来解包。
4.进入源码文件目录
cd qt-everywhere-src-5.15.2

5.编译安装(must enable xcb here manually)

./configure -xcb(不能加sudo)

Choose “o” to install Qt open source version. 选择‘y’

make -j4
sudo make install

6.通过终端安装一个QtCreator:

sudo apt-get install qtcreator

问题:但是安装完成后打开会提示:

以下插件有错误,无法载入:QmlDesigner  QmlProfiler  

插件初始化失败:cannot Create OpenGL context 。暂时没找到解决办法,所以只能自己源码编译

7.源码编译QtCreator:

git clone --recursive https://code.qt.io/qt-creator/qt-creator.git

后面编译部分参考官方wiki教程:Building Qt Creator from Git - Qt Wiki

参考链接:统信uos编译安装qt5.15.2和qtcreator_seedlint的博客-CSDN博客_uos 安装qtcreator

一、安装PySide2

1.Install PySide2 from whl

git clone https://github.com/chentongwilliam/PySide2-jetson-nano.git
pip3 install shiboken2-5.15.2.1-5.15.3-cp36-cp36m-linux_aarch64.whl
pip3 install shiboken2_generator-5.15.2.1-5.15.3-cp36-cp36m-linux_aarch64.whl
pip3 install PySide2-5.15.2.1-5.15.3-cp36-cp36m-linux_aarch64.whl

2.Or Install PySide2 from Source

环境要求:

before install PySide2, first we have to deal with some requirements: General requirements: Python: 3.5+, Qt: 5.12+, libclang: version10, CMake:3.1+, llvm: version10(clang10)

sudo apt install libclang-10-dev
sudo apt install llvm

Here I personally suggest use synaptic to manage library:

sudo apt-get install synaptic
synaptic

Then install the correct version(10) of libclang and llvm via synaptic.

download and build PySide2:

git clone http://code.qt.io/pyside/pyside-setup.git
cd pyside-setup/
git checkout 5.15.3

Finally, to install PySide2:

sudo apt install python3-pip
sudo python3 setup.py install --qmake=/usr/local/Qt-5.15.2/bin/qmake

copy fonts

sudo mkdir /usr/local/Qt-5.15.3/lib/fonts
sudo chmod 777 /usr/local/Qt-5.15.3/lib/fonts

then copy all fonts you like (for example all fonts in /usr/share/fonts/truetype/ubuntu/) to /usr/local/Qt-5.15.3/lib/fonts

人工智能编译方法,供参考:

PySide2是Qt的Python绑定库,它允许使用Python编写Qt应用程序。下面是在Ubuntu下编译安装PySide2的步骤:

  1. 安装Qt5及相关依赖库:
sudo apt install qtbase5-dev qttools5-dev-tools libqt5svg5-dev libxml2-dev libxslt1-dev
  1. 安装Python开发包:
sudo apt install python3-dev python3-pip
  1. 安装PySide2的依赖库:
sudo apt install libxcb-xinerama0-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-render-util0-dev libxcb-xkb-dev libxkbcommon-x11-dev libxkbcommon-dev libfontconfig1-dev libfreetype6-dev libpng-dev libjpeg-dev libglib2.0-dev libicu-dev
  1. 安装CMake:
sudo apt install cmake
  1. 下载PySide2源代码:
git clone https://code.qt.io/pyside/pyside-setup.git
cd pyside-setup
git submodule update --init --recursive
  1. 构建PySide2:
mkdir build
cd build
cmake ..
make
  1. 安装PySide2:
sudo make install

完成安装后,可以在Python中导入PySide2模块进行测试:

python3
>>> from PySide2.QtWidgets import QApplication, QLabel
>>> app = QApplication([])
>>> label = QLabel('Hello, PySide2!')
>>> label.show()
>>> app.exec_()

这将创建一个简单的窗口,显示文本“Hello, PySide2!”

参考链接:https://github.com/chentongwilliam/PySide2-jetson-nano#install-pyside2

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

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

相关文章

【推荐】高效办公利器——高效工具来袭!

下载链接 https://zh.snipaste.com/download.html 软件介绍 Snipaste 是一个简单但强大的截图工具, 直接按 F1 截图 F3 贴图在屏幕,工具蓝中提供了很多功能:框选标记、折线、画笔、记号笔、马赛克、文本标注、橡皮擦、撤销、退出、截图定在…

Python爬虫——urllib_ajax的get请求爬取豆瓣电影前十页

ajax: 就是一段js代码,通过这段代码,可以让页面发送异步的请求,或者向服务器发送一个东西,即和服务器进行交互 对于ajax: 一定会有 url,请求方法(get, post),可能有数据一般使用 j…

【C++】STL——vector的简单介绍、vector的定义、vector的构造函数声明、vector iterator的使用

文章目录 1.vector的含义2.vector的使用2.1vector构造函数声明(1)vector()(2)vector(size_type n, const value_type& val value_type())(3)vector(const vector& x) (4)ve…

20230714----重返学习-DOM-diff算法-构建工具-包管理工具-Vite基本使用-Vue3新特性

day-112-one-hundred-and-twelve-20230714-DOM-diff算法-构建工具-包管理工具-Vite基本使用-Vue3新特性 DOM-diff算法 vue2中diff算法 同级比对,跨级比对性能差。而且采用的方式是递归比对,更差一点。根节点只能有一个,比对的时候会从根节…

Android 多边形导圆角(Path画折线导圆角)

前言:用path画折线,2条线相交处导圆角 简介:为开发者提供工具类,方便对使用path画折线设置圆角。使用path画多边形,如三角形、矩形、平行四边形等,同时设置圆角。另外提供计算直线上某点坐标。 实现原理 …

Matplotlib下载和安装

Matplotlib 是 Python 的第三方绘图库,它非常类似于 MATLAB。在使用 Matplotlib 软件包之前,需要对其进行安装。本节以 Windows10 系统为例,介绍 Matplotlib 的几种安装方式。 MATLAB 是一款商业软件,主要用于数据分析、图像处理…

http协议(二)

欢迎来到南方有乔木的博客!!! 博主主页:点击点击!戳一戳!! 博主名:南方有乔木呀 博主简介: 一名在校大学生,正在努力学习Java语言编程。穷且意坚,不坠青云…

Java常规写法与新特性对比详解

Java常规写法与新特性对比详解 ✨1. Lambda表达式对比常规写法:⭐️1.1 迭代集合:⭐️1.2 条件过滤:⭐️1.3 映射转换: ✨2. Stream API对比常规写法:⭐️2.1 过滤和计数:⭐️2.2 排序:⭐️2.3 …

通过 Postman+Newman+Jenkins 进行接口自动化测试和进一步实现 CI

目录 前言: Postman 部分 Collection 或者说测试集的建立 Postman 使用详解 测试工具 mock server Newman 的安装和使用 newman 的使用 对 SSL 的支持 newman 第三版以后(目前已经是 4.3.1)可以支持通过 CLI 选项来支持 SSL 对 new…

Python 使用 Stable Diffusion API 生成图片示例

代码: import base64 import datetime import json import osimport requestsdef submit_post(url: str, data: dict):"""Submit a POST request to the given URL with the given data.:param url: url:param data: data:return: response"…

用html+javascript打造公文一键排版系统6:三级标题排版

正文中的标题分为四级,文中结构层次序数依次可以用“一、”“(一)”“1.”“(1)”标注;一般第一层用黑体字、第二层用楷体字加粗、第三层和第四层用仿宋体字标注。 对于以阿拉伯数字开头、后接英文点号.及…

First image then video A two-stage network for spatiotemporal video denoising

First image then video: A two-stage network for spatiotemporal video denoising http://export.arxiv.org/abs/2001.00346 作者:王策 南开大学 本文针对的是视频中出现大运动。或者前景和背景由于弱光环境较弱时造成去噪性能差的问题而解决,论文时在…

String 类的常用方法

String类的常用方法 说明 String类是保存字符串常量的,每次更新都需要重新开辟空间,效率比较低,因此 java 设计者还提供了StringBuilder和StringBuffer来增强String的功能,并提高效率。 常用方法 public class String01 {publi…

C语言——动态内存管理(malloc, calloc, realloc, free, 柔性数组详解)

C语言——动态内存管理 1. 为什么需要动态内存管理 我们以往定义数组,都是这么定义的: int nums[10] {0};以这种方式开辟空间有两个特点: 空间开辟的大小是固定的数组在声明的时候,必须指定数组的长度,它所需要的内…

数据库应用:Navicat连接MySQL

目录 一、理论 1.Navicat 2.MVCC 二、实验 1.Navicat连接MySQL 2.navicat的基础操作 3.测试提交事务 三、问题 1.解决1130 2.解决2003 四、总结 一、理论 1.Navicat (1)简介 Navicat Premium 是一套数据库开发工具,实现从单一应用…

基于时域特征和频域特征组合的敏感特征集,再利用CNN进行轴承故障诊断(python编程)

1.文件夹介绍(使用的是CWRU数据集) 0HP-3HP四个文件夹装载不同工况下的内圈故障、外圈故障、滚动体故障和正常轴承数据。 2.模型 按照1024的长度分割样本,构建内圈故障、外圈故障、滚动体故障和正常轴承样本集 2.1.计算11种时域特征值 # 计…

EfficientNet论文笔记

EfficientNet论文笔记 通过NAS平衡了channel,depth,resolution,发现在相同的FLOPs下,同时增加 depth和 resolution的效果最好。 数据集效果小于resolution怎么办? EfficientNet—b0框架 表格中每个MBConv后会跟一个…

Maven —— 项目管理工具

前言 在这篇文章中,荔枝会介绍如何在项目工程中借助Maven的力量来开发,主要涉及Maven的下载安装、环境变量的配置、IDEA中的Maven的路径配置和信息修改以及通过Maven来快速构建项目。希望能对需要配置的小伙伴们有帮助哈哈哈哈~~~ 文章目录 前言 一、初…

力扣刷题序列 - 字符串篇

这里写目录标题 字符1.520 回文串的定义2. 125 公共前缀3. 14 单词4. 4345. 58 字符串的反转6. 3447. 5418. 5579. 151 字符的统计10. 38711. 38912. 38313. 24214. 4915. 45116. 42317. 65718. 55119. 69620. 467 数字与字符间的转换21.41222.50623.53924.553537592---64038 子…

GAME101 OpenCV环境安装

文章目录 Opencv 库编译Step 1.下载源码Step 2. 使用CMake编译Step3. 解决CMake 过程重的报错错误1: 错误的Python版本:错误1 解决办法 错误2:下载ippicv_2020_win_ia32_20191018_general.zip失败错误2 解决办法 错误3:ffmpeg相关文件下载失败…