IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> Qt5.12.2交叉编译并移植程序到ARM过程记录 -> 正文阅读

[嵌入式]Qt5.12.2交叉编译并移植程序到ARM过程记录

交叉编译:在系统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

程序即可运行。如图🤩:?

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 18:52:42  更:2022-04-22 18:55:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:29:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码