Qt5.12.2交叉编译并移植程序到ARM过程记录

2023-11-19

交叉编译:在系统A中编译出在要系统B中运行的环境、程序。

编译工具:x9-gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf

1、将编译工具拷贝到 /opt 文件夹。

2、下载Qt源代码,解压。

3、进入解压后的 /qtbase/mkspecs 文件夹,这是编译配置的文件夹,发现没有名称为gnueabihf的,新建一个文件夹,名称为 linux-arm-gnueabihf-g++,到其他文件夹拷贝 qmake.conf、qplatformdefs.h 这两个文件文件到此文件夹(mkspecs文件夹的子文件夹都有这两个文件,随便找一个文件夹拷贝过来就行)。

4、修改 qmake.conf 中的配置:

5、调起X9交叉编译链,执行:

source /opt/x9-gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf/setpath.sh

6、开始编译,执行:

./configure -release -opensource -confirm-license -xplatform linux-arm-gnueabihf-g++ -prefix /usr/local/qt5.12.2_jcby -nomake examples -no-opengl -silent -qpa linuxfb

其中的路径是生编译出来的内容存放的路径。

执行make、make install。整个过程大概两个小时。

7、编译完成之后配置 Qt Creator :

8、用这个构建套件在 release 模式生成一个测试程序。这个程序在当前系统是运行不起来的。

9、将编译出来的环境打个压缩包拷贝到 arm 开发板的 linux 系统,找个文件夹存放然后解压缩。

10、添加环境变量:

export PATH=/data/qt5122/qt5.12.2_jcby/bin:$PATH
export LD_LIBRARY_PATH=/data/qt5122/qt5.12.2_jcby/lib:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=/data/qt5122/qt5.12.2_jcby/plugins/

11、把测试程序也拷贝过来,添加运行的权限然后运行,提示这个:

QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
QFontDatabase: Cannot find font directory /usr/local/qt5.12.2_jcby/lib/fonts.
Note that Qt no longer ships fonts. Deploy some (from https://dejavu-fonts.github.io/ for example) or switch to fontconfig.
QFontDatabase: Cannot find font directory /usr/local/qt5.12.2_jcby/lib/fonts.
Note that Qt no longer ships fonts. Deploy some (from https://dejavu-fonts.github.io/ for example) or switch to fontconfig.
QFontDatabase: Cannot find font directory /usr/local/qt5.12.2_jcby/lib/fonts.
Note that Qt no longer ships fonts. Deploy some (from https://dejavu-fonts.github.io/ for example) or switch to fontconfig.
QFontDatabase: Cannot find font directory /usr/local/qt5.12.2_jcby/lib/fonts.
Note that Qt no longer ships fonts. Deploy some (from https://dejavu-fonts.github.io/ for example) or switch to fontconfig.
QFontDatabase: Cannot find font directory /usr/local/qt5.12.2_jcby/lib/fonts.
Note that Qt no longer ships fonts. Deploy some (from https://dejavu-fonts.github.io/ for example) or switch to fontconfig.

缺少字体数据库。去qt安装目录搜一下,找一个 *.ttf 字库文件。

复制到开发板里面qt环境的目录 /lib/fonts,没有这个文件夹就建一个。

把环境变量加上:

export QT_QPA_FONTDIR=/data/qt5122/qt5.12.2_jcby/lib/fonts

程序即可运行。如图

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt5.12.2交叉编译并移植程序到ARM过程记录 的相关文章

  • 将信号/槽(QObject)添加到 QGraphicsItem:性能受到影响?

    我想将信号 槽添加到 QGraphicsItem 以便我可以从另一个线程访问 QGraphicsItemObjects 我知道有两个选项 使用 QGraphicsObject 或从 QObject 和 QGraphicsItem 继承 使用
  • 在 Qt C++ 中使用多个键

    我正在构建 坦克 游戏 我使用关键事件在地图上运行我的坦克 实际上我当时只能使用一把钥匙 但我需要有能力去完成任务 同时向上和离开 这是我的单键事件代码 switch event gt key case Qt Key Up if ui gt
  • 如何设置 Xcode 来代替 Qt Creator 工作?

    我不使用 Qt Creator 的 UI 设计功能 对于一个新项目 我想体验一下使用 Xcode 的工作 这将是一个常规的 Qt 项目 使用 C 和 Qt 库开发 就像在 Qt Creator 中一样 我没有使用 OS X 尤其是 Xcod
  • Mac OS X 文件关联有效,但文件图标未更改

    我使用 Qt 5 3 2 开发了一个 Mac 应用程序 该应用程序处理具有特定扩展名的文件 比方说 xyz 我创建了一个名为 XYZ icns 的图标文件 并将其添加到我的应用程序包资源文件夹中 MyApp app Contents Res
  • Qt 信号槽,新符号中的转换类型[重复]

    这个问题在这里已经有答案了 鉴于以下两个 connect ui gt comboBox SIGNAL activated QString ps SLOT requestPlotsAvailable QString connect ui gt
  • 将项目添加到自定义组件的布局

    我有一个习惯Footer Component我想在 QML 应用程序的不同位置重用它 Rectangle color gold height 50 anchors bottom parent bottom left parent left
  • 如何在Qt中设置编译器?

    我对 Qt 完全陌生 我下载了离线版本 Qt 5 3 2 for Windows 64 bit VS 2013 OpenGL 573 MB 我无法编译我的项目 I have Qt Creator 3 2 1 开源 基于Qt 5 3 2 MS
  • QT 应用程序运行时错误?

    我已经在 Windows 7 的 Qt5 1 上开发了一个应用程序 现在我想分发它 由于我使用了 MINGW 编译器 因此无法静态构建它 我使用dependency walker找出所有dll并打包 当我在未安装 QT 开发环境的计算机上运
  • 在哪里可以找到 Qt 的 dll 的 pdb 文件?

    我正在调试 Qt 应用程序 在哪里可以找到 Qt 的调试 dll 我在windows上使用的是vs2010 它说它需要 Qt 中的许多 dll 的 pdb 文件 从 Qt 5 9 开始 与 Windows 发行版相对应的 PDB 可作为单独
  • 如何将图标放置到 QLineEdit 上?

    stackoverflow com 网站的右上角有一个带有放大镜头的搜索字段和一个灰色的 搜索 关键字 我想知道是否有可能实现相同的外观QLineEdit 如果是这样那怎么办 QLineEdit lineEdit new QLineEdit
  • QT 中只获取文件而不获取目录?

    当我这样做时 QDir myDir home some location QStringList filesList myDir entryList 它返回该位置内的文件和目录 但我只想要文件 并且这些文件可以具有任意扩展名 有任何想法吗
  • 使用 cmake 将两种解决方案合二为一

    我有两个单独的 Visual Studio 2013 解决方案 我想将它们迁移到一个解决方案中 因为第一个解决方案 使用 Qt 充当第二个解决方案的 GUI 最后 我希望有一个结构如下的单一解决方案 Solution All Build P
  • Qt Creator:如何区分 win32 和 win64

    我必须在 pro 文件中执行类似的操作 win32 LIBS L 3rdparty libusb win32 lib msvc llibusb else win64 LIBS L 3rdparty libusb win32 lib msvc
  • Qt mouseReleaseEvent() 未触发?

    我有一个显示图片的库 我们称之为 PictureGLWidget 其中 class PictureGLWidget public QGLWidget 所以 PictureGLWidget 扩展了 QGLWidget 在PictureGlWi
  • PyQt:如何设置组合框项目可检查?

    为了将 GUI 小部件数量保持在最低限度 我需要找到一种方法来为用户提供下拉菜单项的选择 这些菜单项可用于过滤掉 listWidget 项中显示的内容 假设 listWidget 列出了 5 个不同类别的项目 Cat A Cat B Cat
  • 加权 Voronoi 的 CGAL 2D APOLLONIUS 图 - 如何生成和获取面和顶点?

    我正在尝试根据阿波罗尼乌斯图生成加权沃罗诺伊 我正在使用 CGAL 库 我找不到如何从 apollonius 获取面和顶点的好例子 我有以下类型定义 typedef double NT typedef CGAL Cartesian lt N
  • QGraphicsScene::clear 不会改变 sceneRect

    我有一个 QGraphicsScene 场景 和 QGraphicsView graphicsView 我有一个画图的方法 当我需要重绘所有图形时 我调用这个方法 一切都好 但我意识到 scene gt clear 不会改变 sceneRe
  • 在 Qt5 中,是否需要 Q_INVOKABLE 来从 QML 调用公共 QObject 函数?

    我刚刚意识到我可以调用暴露于 QML 的对象的几乎任何函数 现在我对 Q INVOKABLE 很好奇 Qt5docs http doc qt io qt 5 qtqml cppintegration exposecppattributes
  • 向 Qt 样式表添加特异性时丢失样式

    这是我的代码 const QString STYLE SHEET background color rgba x x x y border 1px solid gray border radius 0px border top 1px so
  • 重定向 python 交互式帮助()

    我正在为使用 Qt 的应用程序开发交互式 python shell 但是我似乎无法获得重定向的交互式帮助 我的 python 代码中有这个 class OutputCatcher def init self self data def wr

随机推荐

  • 3500+人工智能公司“大阅兵”,地表最强AI人才都去了哪里

    图片来源 由无界AI生成 作者 Lightspeed 编译 椎名 编辑 Zuri 人人都想拥有属于自己的生成式AI工具 但是全球只有极少人 能够真正构建出大型语言模型 新的AI应用基础设施和支持技术 这不但需要一套新的 特殊的技术能力 更需
  • 非线性拟合lsqcurvefit、nlinfit

    问题 有些时候我们需要拟合一些非线性的表达式 比如 我们知道一个表达式的式子是y A sin x exp x B log x 现在我们手里面有x与y对应的一大把数据 我们如何根据x y的值找出最佳的A B值 则我们现在借助Matlab的函数
  • Java学习

    Java之AJAX概念和实现方式 开发工具与关键技术 MyEclipse 10 java 作者 刘东标 撰写时间 2019 06 12 1 概念 Asynchronous JavaScript And XML 异步的JavaScript和X
  • 睿智的seq2seq模型2——利用seq2seq模型实现英文到法文的翻译

    睿智的seq2seq模型2 利用seq2seq模型实现英文到法文的翻译 学习前言 seq2seq简要介绍 英文翻译到法文的思路 1 对英文进行特征提取 2 将提取到的特征传入到decoder 3 将 t 作为起始符预测第一个字母 4 逐个字
  • 计算资源合并模式——云计算架构常用设计模式

    背景 云计算的解决方案中 最初设计可能有意遵循关注点分离的设计原则 把操作分解为独立的计算单元以便可以单独托管和部署 然而 虽然这种策略可以帮助简化解决方案的逻辑实现 但是在同一个应用程序中要部署大量的计算单元 这会增加运行时的托管成本 并
  • 性能测试大致分为以下六种

    性能测试大致分为以下六种 第一种是Benchmark 标杆测试 又叫基准测试 主要是测试一些基础数据 给进一步建立性能模型提供依据 一般测试人员按照1并发用户来执行脚本 校验脚本正确与否 为之后的压力测试和负载测试做准备 第二种是Load
  • 传奇修改数据库后服务器异常,DBserver提示物品数据库加载错误的解决方法

    DBserver exe程序是传奇服务端 什么是传奇服务端 中负责人物数据库处理的重要程序 也是我们运行服务端时第一个启动的程序 但由于现在的数据库名不统一还有服务端路径的不同 经常在运行时提示 Exception 物品数据库加载错误 在我
  • centos7 RTNETLINK answers: File exists 解决办法

    首先说一下本人遇到的问题 我是通过克隆虚拟机安装的服务器 已将 etc sysconfig network scripts ifcfg eno16777736 的UUID这一行删除 因为每张网卡的mac地址是不一样的 所以UUID也是不一样
  • 全卷积神经网络( FCN ):语义分割深度模型先驱

    语义分割 简单地说 分割就是抠图 语义分割 是像素级别地给物体分类 现在ps已经集成了很多自动分割的功能 摄像头采集到车前景象 通过模型分析 我们可以自动筛选出地面 交通线 人行道 行人 建筑 树 以及其他基础设施 在上图 我们可以看到地面
  • MyBatis 的基本使用、增删改查(一)

    1 ORM Mybatis ORM 对象关系映射 这个通俗点讲其实就是数据库的表和实体类相互映射的关系 这个了解一下就行 不重要 Mybatis 基于java的持久层框架 2 Mybatis 的入门使用 这边没有集成spring sprin
  • Qt 集成Web 的内容

    文章目录 Qt 集成Web 的内容 Qt 中的WebEngine Qt和HTML JavaScript混合应用程序 Qt WebEngine 概述 Qt WebEngine 架构 Qt WebEngine Widgets 模块 Qt Web
  • python远程文件管理系统_python 读取远程服务器文件

    几个提高工作效率的Python内置小工具 在这篇文章里 我们将会介绍4个Python解释器自身提供的小工具 这些小工具在笔者的日常工作中经常用到 减少了各种时间的浪费 然而 却很容易被大家忽略 每当有新来的同事看到我这么使用时 都忍不住感叹
  • openvino+yolov5的检测优化及其在考勤机上的应用

    openvino yolov5的检测优化及其在考勤机上的应用 1 简介 2 安装yolov5 3 配置Pytorch环境 1 在开始界面中打开Anaconda Prompt 2 输入命令 4 配置到Pycharm 1 打开Pycharm 2
  • 多维时序

    多维时序 MATLAB实现GA GRU遗传算法优化门控循环单元多变量时间序列预测 目录 多维时序 MATLAB实现GA GRU遗传算法优化门控循环单元多变量时间序列预测 效果一览 基本介绍 程序设计 参考资料 效果一览 基本介绍 多维时序
  • ubuntu16.04踩坑笔记--ubuntu循环登录问题

    感觉自己有毒 在没有预兆的情况下 ubuntu登录界面循环登录 无法进入桌面 具体表现为登录密码输入后 黑屏一下继续回到登录界面 然后循环 在网上找到很多方法 比如 1 检查 Xauthority属于我的所有权 而不是root 包括删掉和权
  • failed to execute goal org.apache.maven.plugins:maven-archetype-plugin错误解决方法

    使用maven创建project时碰到如下错误 D codes JSF gt mvn archetype create DgroupId com tutorialspoint test DartifactId helloworld Darc
  • 把openssh升级到8.1版本

    把openssh升级到8 1版本各种坑都能解决无敌 下载相应的软件包 yum install wget gcc y yum group install Development Tools y yum install y zlib devel
  • 删除链表的倒数第n个节点

    题目 Given a linked list remove the n th node from the end of list and return its head For example Given linked list 1 gt
  • 形象易懂讲解算法II——压缩感知

    形象易懂讲解算法II 压缩感知
  • Qt5.12.2交叉编译并移植程序到ARM过程记录

    交叉编译 在系统A中编译出在要系统B中运行的环境 程序 编译工具 x9 gcc linaro 5 5 0 2017 10 x86 64 arm linux gnueabihf 1 将编译工具拷贝到 opt 文件夹 2 下载Qt源代码 解压