交叉编译qt5.14.2

qt源码下载地址:qt-everywhere-src-5.14.2.tar.xz
1.修改qt-everywhere-src-5.14.2/qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf文件:

#
# qmake configuration for building with arm-linux-gnueabi-g++
#MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
QMAKE_INCREMENTAL_STYLE = sublibQT_QPA_DEFAULT_PLATFORM = linuxfb 
QMAKE_CFLAGS_RELEASE += -O2 -march=armv7-a -mtune=cortex-a7 -mfpu=neon -mfloat-abi=hard
QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv7-a -mtune=cortex-a7 -mfpu=neon -mfloat-abi=hardinclude(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)#QMAKE_INCDIR            += /home/ubuntu/real_imx6ull_board/qt_for_imx6ull/xcb_for_arm/X11_INSTALL/include
#QMAKE_INCDIR            += /home/ubuntu/real_imx6ull_board/qt_for_imx6ull/xcb_for_arm/XCB_INSTALL/include
#QMAKE_LIBDIR             += /home/ubuntu/real_imx6ull_board/qt_for_imx6ull/xcb_for_arm/X11_INSTALL/lib
#QMAKE_LIBDIR             += /home/ubuntu/real_imx6ull_board/qt_for_imx6ull/xcb_for_arm/XCB_INSTALL/libQMAKE_LIBS              += -lXau
QMAKE_LIBS              += -lxcb
#QMAKE_LIBS              += -lxcb-xkb
#QMAKE_LIBS              += -lxkbcommon
#QMAKE_LIBS              += -lxkbcommon-x11# modifications to g++.conf
QMAKE_CC                = /home/ubuntu/real_imx6ull_board/Toolchain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc
QMAKE_CXX               = /home/ubuntu/real_imx6ull_board/Toolchain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
QMAKE_LINK              = /home/ubuntu/real_imx6ull_board/Toolchain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
QMAKE_LINK_SHLIB        = /home/ubuntu/real_imx6ull_board/Toolchain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++# modifications to linux.conf
QMAKE_AR                = /home/ubuntu/real_imx6ull_board/Toolchain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY           = /home/ubuntu/real_imx6ull_board/Toolchain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-objcopy
QMAKE_NM                = /home/ubuntu/real_imx6ull_board/Toolchain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-nm -P
QMAKE_STRIP        

2.在源码目录下创建脚本autoconfig.sh,内容如下:

#!/bin/sh
./configure \
-prefix /home/ubuntu/real_imx6ull_board/qt_for_imx6ull/build_output \
-opensource \
-confirm-license \
-release \
-strip \
-shared \
-xplatform linux-arm-gnueabi-g++ \
-optimized-qmake \
-c++std c++11 \
--rpath=no \
-pch \
-skip qt3d \
-skip qtactiveqt \
-skip qtandroidextras \
-skip qtcanvas3d \
-skip qtconnectivity \
-skip qtdatavis3d \
-skip qtdoc \
-skip qtgamepad \
-skip qtlocation \
-skip qtmacextras \
-skip qtnetworkauth \
-skip qtpurchasing \
-skip qtquick3d \
-skip qtremoteobjects \
-skip qtscript \
-skip qtscxml \
-skip qtsensors \
-skip qtspeech \
-skip qtsvg \
-skip qttools \
-skip qttranslations \
-skip qtwayland \
-skip qtwebengine \
-skip qtwebview \
-skip qtwinextras \
-skip qtx11extras \
-skip qtxmlpatterns \
-make libs \
-make examples \
-nomake tools -nomake tests \
-gui \
-widgets \
-dbus-runtime \
--glib=no \
--iconv=no \
--pcre=qt \
--zlib=qt \
-no-openssl \
--freetype=qt \
--harfbuzz=qt \
-no-opengl \
-linuxfb \
-xkbcommon \
--xcb \
-tslib \
--libpng=qt \
--libjpeg=qt \
--sqlite=qt \
-plugin-sql-sqlite \
-I/home/ubuntu/real_imx6ull_board/qt_for_imx6ull/tslib_xxx/tslib_output/include \
-I/home/ubuntu/real_imx6ull_board/qt_for_imx6ull/xcb_for_arm/XKB_INSTALL/include \
-I/home/ubuntu/real_imx6ull_board/qt_for_imx6ull/xcb_for_arm/X11_INSTALL/include \
-I/home/ubuntu/real_imx6ull_board/qt_for_imx6ull/xcb_for_arm/XCB_INSTALL/include \
-L/home/ubuntu/real_imx6ull_board/qt_for_imx6ull/tslib_xxx/tslib_output/lib \
-L/home/ubuntu/real_imx6ull_board/qt_for_imx6ull/xcb_for_arm/XKB_INSTALL/lib \
-L/home/ubuntu/real_imx6ull_board/qt_for_imx6ull/xcb_for_arm/X11_INSTALL/lib \
-L/home/ubuntu/real_imx6ull_board/qt_for_imx6ull/xcb_for_arm/XCB_INSTALL/lib \
-recheck-all

这里开启了xcb支持,因为qtquick模块需要用到xcb,如图:
在这里插入图片描述
3.make&make install
在这里插入图片描述
4.将build_output文件夹拷贝到buildroot根文件系统的/opt目录下:
在这里插入图片描述
5.将前期交叉编译的tslib文件夹和XCB、X11、XKB文件夹也拷贝到/opt/build_output/
在这里插入图片描述
6.修改根文件系统/etc/profile文件,添加如下代码

export PATH="/bin:/sbin:/usr/bin:/usr/sbin"
export PATH="/bin:/sbin:/usr/bin:/usr/sbin"
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/event1
export TSLIB_TSEVENTTYPE=input
export TSLIB_CONFFILE=/opt/build_output/tslib_output/etc/ts.conf
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_PLUGINDIR=/opt/build_output/tslib_output/lib/ts
export QT_QPA_GENERIC_PLUGINS=tslib
export QT_ROOT=/opt/build_output
export QT_QPA_FONTDIR=$QT_ROOT/lib/fonts
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0
export LD_LIBRARY_PATH=/lib:/usr/lib:$QT_ROOT/lib:/opt/build_output/tslib_output/lib/:/opt/build_output/X11_INSTALL/lib/:/opt/build_output/XKB_INSTALL/lib/:/opt/build_output/XCB_INSTALL/lib

7.在根文件系统/etc/init.d/下添加文件S80selfdef,目的是挂载NFS网络文件系统。内容如下:

echo 7 4 1 7 > /proc/sys/kernel/printk
mount -t nfs -o nolock,vers=3 192.168.137.100:/home/ubuntu/real_imx6ull_board/ /mnt

8.在开发板的uboot中设置参数:
在这里插入图片描述
9.启动
在这里插入图片描述
10.运行
在这里插入图片描述
效果:

WeChat_20240305101736

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

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

相关文章

第三篇【传奇开心果系列】Python的自动化办公库技术点案例示例:深度解读Pandas股票市场数据分析

传奇开心果博文系列 系列博文目录Python的自动化办公库技术点案例示例系列 博文目录前言一、Pandas进行股票市场数据分析常见步骤和示例代码1. 加载数据2. 数据清洗和准备3. 分析股票价格和交易量4. 财务数据分析 二、扩展思路介绍1. 技术指标分析2. 波动性分析3. 相关性分析4.…

随想录算法训练营第五十一天|309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费

309.最佳买卖股票时机含冷冻期 public class Solution {public int MaxProfit(int[] prices) {if(prices.Length<2){return 0;}int [,]dpnew int[prices.Length,4];dp[0,0]-prices[0];for(int i1;i<prices.Length;i){dp[i,0]Math.Max(dp[i-1,0],Math.Max(dp[i-1,3]-pric…

STM32CubeIDE基础学习-基础外设初始化配置

STM32CubeIDE基础学习-基础外设初始化配置步骤 前言 前面的文章介绍了基础工程的创建步骤&#xff0c;这篇文章就接着在基础工程的基础上来配置相关外设了&#xff0c;下面以STM32F103C8T6的主芯片为例进行简单配置。 基础工程创建步骤回顾 具体的配置步骤流程如下&#xff1…

【Java数据结构 -- 二叉树有关面试OJ题2】

二叉树OJ面试题 1. 对称二叉树2.二叉树的构建及遍历3.二叉树的层序遍历4.给定一个二叉树, 找到该树中两个指定节点的最近公共祖先5. 二叉树创建字符串用栈来存放路径上的节点 1. 对称二叉树 思路&#xff1a; 在根的值一样接着往下判断判断左树的左子树的值和右树的右子树的值…

【Linux】访问文件的本质|文件描述符|文件重定向

文章目录 文件的结构文件描述符标准输入输出文件描述符的规则 文件重定向输出重定向(对应符号>)echo的输出重定向 输入重定向&#xff08;对应符号<&#xff09;追加重定向&#xff08;对应符号‘>>’&#xff09;实现文件重定向的函数dup2()参数测试 前言&#xf…

could not publish server configuration for tomcat at localhost

1&#xff0c;报错信息如图&#xff1a; 2&#xff0c;找到servers双击&#xff0c;选择Modules&#xff0c;如果有两个webModules ,remove一个&#xff0c; 3&#xff0c;如果重启还是报错&#xff0c;干脆两个都remove&#xff0c;双击tomcat服务add And Remove重新添加

springboot/ssm酒店客房管理系统Java在线酒店预约预定平台web

springboot/ssm酒店客房管理系统Java在线酒店预约预定平台web 基于springboot(可改ssm)vue项目 开发语言&#xff1a;Java 框架&#xff1a;springboot/可改ssm vue JDK版本&#xff1a;JDK1.8&#xff08;或11&#xff09; 服务器&#xff1a;tomcat 数据库&#xff1a;…

【Python】深度学习基础知识——梯度下降详解和示例

尽管梯度下降&#xff08;gradient descent&#xff09;很少直接用于深度学习&#xff0c;但它是随机梯度下降算法的基础&#xff0c;也是很多问题的来源&#xff0c;如由于学习率过大&#xff0c;优化问题可能会发散&#xff0c;这种现象早已在梯度下降中出现。本文通过原理和…

Docker知识点总结

二、Docker基本命令&#xff1a; Docker支持CentOs 6 及以后的版本; CentOs7系统可以直接通过yum进行安装&#xff0c;安装前可以 1、查看一下系统是否已经安装了Docker: yum list installed | grep docker 2、安装docker&#xff1a; yum install docker -y -y 表示自动确认…

flutter旋转动画,算法题+JVM+自定义View

在很多的博客或者书上&#xff0c;说有三种&#xff0c;除了上述的两种以外&#xff0c;还有一种是实现Callable接口。但是这种并不是&#xff0c;因为&#xff0c;我们检查JDK中Thread的源码&#xff0c;看它的注释&#xff1a; There are two ways to create a new thread o…

Linux操作系统的vim常用命令和vim 键盘图

在vi编辑器的命令模式下&#xff0c;命令的组成格式是&#xff1a;nnc。其中&#xff0c;字符c是命令&#xff0c;nn是整数值&#xff0c;它表示该命令将重复执行nn次&#xff0c;如果不给出重复次数的nn值&#xff0c;则命令将只执行一次。例如&#xff0c;在命令模式下按j键表…

Dockerfile的艺术:构建高效容器镜像的指令详解与实战指南

在容器化技术风靡全球的今天&#xff0c;Dockerfile作为构建 Docker 镜像的蓝图&#xff0c;其编写技巧与理解深度直接影响着应用部署的效率与稳定性。本文将深入剖析Dockerfile中的核心指令&#xff0c;以实战角度为您呈现一份详尽的解读与操作指南&#xff0c;并在文末抛出一…

docker通过dockerfile安装sftp教程

自制sftp镜像 Dockerfile构建镜像运行sftp容器sftp测试 Dockerfile # 使用基础镜像 FROM ubuntu:22.04# 安装 OpenSSH 服务器和 SFTP 所需的工具 RUN apt-get update && \apt-get install -y openssh-server && \mkdir /var/run/sshd # && apt-get…

mysql8 MGR集群部署

服务器环境 系统主机名IPCentOS 7.9mgr-node01192.168.200.31CentOS 7.9mgr-node02192.168.200.32CentOS 7.9mgr-node03192.168.200.33 mysql8安装 tar zxvf mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar.gzrpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64rpm -ivh mysql-c…

Fuyu-8B A Multimodal Architecture for AI Agents

Fuyu-8B: A Multimodal Architecture for AI Agents Blog: https://www.adept.ai/blog/fuyu-8b TL; DR&#xff1a;无视觉编码器和 adapter&#xff0c;纯解码器结构的多模态大模型。 Adept 是一家做 Copilot 创业的公司&#xff0c;要想高效地帮助用户&#xff0c;必须要准确…

【Linux网络】再谈 “协议“

目录 再谈 "协议" 结构化数据的传输 序列化和反序列化 网络版计算器 封装套接字操作 服务端代码 服务进程执行例程 启动网络版服务端 协议定制 客户端代码 代码测试 使用JSON进行序列化与反序列化 我们程序员写的一个个解决我们实际问题&#xff0c;满…

新品发布会媒体邀请,邀约记者现场报道

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 新品发布会媒体邀请及记者现场报道邀约流程&#xff1a; 一、策划准备 明确新品发布会时间、地点和主题。 制定媒体邀请计划&#xff0c;确定目标媒体。 二、邀请媒体 向目标媒体发送…

后端面试题整理-1

1.Maven 依赖传递产生版本冲突怎么解决&#xff1f; 升级或降级依赖版本&#xff1a;通过修改相关依赖的版本号&#xff0c;选择与项目其他依赖兼容的版本。可以通过查看 Maven 依赖树来确定哪些依赖冲突&#xff0c;并找出合适的版本号进行调整。排除依赖&#xff1a;对于特定…

CSS的三种定位,响应式web开发项目教程

标准文档流 文档流&#xff1a;指的是元素排版布局过程中 戳这里领取完整开源项目&#xff1a;【一线大厂前端面试题解析核心总结学习笔记Web真实项目实战最新讲解视频】 &#xff0c;元素会默认自动从左往右&#xff0c;从上往下的流式排列方式。并最终窗体自上而下分成一行行…

12、电源管理入门之clock驱动

目录 1. clock驱动构架 1.2 clock consumer介绍 2. Clock Provider 2.1 数据结构表示 2.2 clock provider注册初始化 2.3 DTS配置 2.4 clock驱动实现举例: 3. clock consumer 3.1 获取clock 3.2 操作clock 3.3 实例操作 4. SoC硬件中的使用 参考: 电源管理的两个…