讲下我对交叉编译理解-QT篇-一

2024-03-11 16:38
文章标签 编译 qt 理解 交叉 讲下

本文主要是介绍讲下我对交叉编译理解-QT篇-一,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、前言

许多玩PC端的同学,一下转到嵌入式端就有一些懵圈了。

因为windows系统对我们来说好像都是一样的,没什么太大的区别。

换到linux平台上很不适应,因为不是所有的linux平台都像Ubuntu那样,apt-get update & install就可以搞定大部分的事情

弄个啥都要涉及到交叉编译,搭建交叉编译工具有时会让人崩溃

2、什么是交叉编译

在平台A上编译能在平台B上跑的应用程序

交叉编译工具其实和我们普通的VS编译器原理没有什么区别,唯一的区别就是交叉编译工具安装有时需要手动去配置一下。

而这些在windows上都傻瓜化了。

3、QTcreator里qmake到底是干什么用的?

执行qmake后,如果是勾了Shadow Build,可以在对应的文件里发现生成了Makefile文件

打开Makefile看,假如qmake是用该平台的交叉工具生成的,就会看到cc不再是熟悉的gcc和g++。

替代它们的是arm-linux-gcc,arm-linux-g++

4、QTcreator里build做了哪些工作

实际上就相当于运行Makefile

5、sysroot是啥?

sysroot顾名思义,就是system root,交叉编译平台它的根目录。

所有相关的头文件、lib都包含在那

为什么需要它呢,因为我们交叉编译工具一般只包含几个常用的库,假如稍微大点程序用到其它库和头文件。

没有这个sysroot,然后编译器就去找Ubuntu本地的头文件和lib,结果就会导致各种各样奇怪的bug

sysroot一般和交叉编译工具一起组成SDK开发包,有时候没有,就需使用同步服务器 工具rsync从板子上获取

这篇关于讲下我对交叉编译理解-QT篇-一的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/798398

相关文章

Qt QCustomPlot库简介(最新推荐)

《QtQCustomPlot库简介(最新推荐)》QCustomPlot是一款基于Qt的高性能C++绘图库,专为二维数据可视化设计,它具有轻量级、实时处理百万级数据和多图层支持等特点,适用于科学计算、... 目录核心特性概览核心组件解析1.绘图核心 (QCustomPlot类)2.数据容器 (QCPDataC

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

Qt如何实现文本编辑器光标高亮技术

《Qt如何实现文本编辑器光标高亮技术》这篇文章主要为大家详细介绍了Qt如何实现文本编辑器光标高亮技术,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录实现代码函数作用概述代码详解 + 注释使用 QTextEdit 的高亮技术(重点)总结用到的关键技术点应用场景举例示例优化建议

Qt 设置软件版本信息的实现

《Qt设置软件版本信息的实现》本文介绍了Qt项目中设置版本信息的三种常用方法,包括.pro文件和version.rc配置、CMakeLists.txt与version.h.in结合,具有一定的参考... 目录在运行程序期间设置版本信息可以参考VS在 QT 中设置软件版本信息的几种方法方法一:通过 .pro

VS配置好Qt环境之后但无法打开ui界面的问题解决

《VS配置好Qt环境之后但无法打开ui界面的问题解决》本文主要介绍了VS配置好Qt环境之后但无法打开ui界面的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目UKeLvb录找到Qt安装目录中designer.UKeLvBexe的路径找到vs中的解决方案资源

Qt之QMessageBox的具体使用

《Qt之QMessageBox的具体使用》本文介绍Qt中QMessageBox类的使用,用于弹出提示、警告、错误等模态对话框,具有一定的参考价值,感兴趣的可以了解一下... 目录1.引言2.简单介绍3.常见函数4.按钮类型(QMessage::StandardButton)5.分步骤实现弹窗6.总结1.引言

Qt中Qfile类的使用

《Qt中Qfile类的使用》很多应用程序都具备操作文件的能力,包括对文件进行写入和读取,创建和删除文件,本文主要介绍了Qt中Qfile类的使用,具有一定的参考价值,感兴趣的可以了解一下... 目录1.引言2.QFile文件操作3.演示示例3.1实验一3.2实验二【演示 QFile 读写二进制文件的过程】4.

Android NDK版本迭代与FFmpeg交叉编译完全指南

《AndroidNDK版本迭代与FFmpeg交叉编译完全指南》在Android开发中,使用NDK进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时,本文将深入分析A... 目录一、android NDK版本迭代分界线二、FFmpeg交叉编译关键注意事项三、完整编译脚本示例四

spring IOC的理解之原理和实现过程

《springIOC的理解之原理和实现过程》:本文主要介绍springIOC的理解之原理和实现过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、IoC 核心概念二、核心原理1. 容器架构2. 核心组件3. 工作流程三、关键实现机制1. Bean生命周期2.