QGroungControl在QT中源码编译(包括配置环境)

news2024/11/18 5:26:59

一、环境配置

VS2019

在这里插入图片描述

Qt 5.15.2

1、安装

我原先的Qt版本是5.12的,在编译源码的时候会出错,提示最少需要5.15版本的,于是卸载原来的Qt重新安装5.15.2版本的!
网上说5.15以及以上版本的只能在线安装了,所以我参考QT5.15.2在线安装教程(详细图文)安装QT

注意

编译QGC源码是需要一个charts模块的,所以在安装QT的时候,除了勾选MSVC,MinGW这些之外,一定要把”QT Charts"也选上。不然编译的时候会报错“找不到charts 模块”

如果安装的时候忘记勾选了,也不用把QT卸载重装,只要按照如下操作把模块添加上去就可以了
在这里插入图片描述
在“工具”这一栏中选中“QT maintenance Tool"->“start maintenance Tool”
在这里插入图片描述
不要勾选”仅卸载“,直接点击“下一步”,然后点击“添加或移除组件”再下一步,然后选择“Qt Charts”
在这里插入图片描述
在这里插入图片描述

二、下载源码

克隆仓库

git clone https://github.com/mavlink/qgroundcontrol.git --recursive

更新子模块

git submodule update

三、编译源码

打开QT,添加项目,打开"qgroundcontrol.pro",
在这里插入图片描述
这里我将MSVC2019 64bit设置为默认模式。
然后点击这个锤子图标,或者播放图标。
在这里插入图片描述
构建过程比较慢,最后如果没有问题的话,最终就会出现如下界面
在这里插入图片描述

四、编译时遇到的问题

在编译源码时,遇到很多问题

1、找不到stdlib.h,windows.h,stdio.h等文件

这是因为环境变量没有配置好。参考Qt5.12配置问题:shell32.lib打不开、找不到windows.h的解决方案
需要在项目—>Build Environment里面对INCLUDE 和LIB变量进行配置

  • INCLUDE
    在这里插入图片描述
  • LIB
    在这里插入图片描述

2、无法运行rc.exe

参考VS2015+QT5.10 无法运行“rc.exe”
最后成功解决问题

3、警告被视为错误-没有生成object文件

参考QT C2220: 警告被视为错误 - 没有生成“object”文件
最后也解决了问题

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

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

相关文章

【hello Linux】详解各种缓冲区

目录 两种缓冲区的说明 用户级缓冲区: 数据如何从用户级缓冲区——>文件内核缓冲区? 刷新策略:对于各种文件的 了解了各种知识之后,使用代码来进行更深理解的认识: Linux🌷 两种缓冲区的说明 先用一张…

ROS学习笔记(八):ROS2

ROS学习笔记(八):ROS2 ROS1存在的问题ROS2ROS2的设计目标ROS2的系统架构ROS2的关键中间件——DDS ROS2的通信模型 ROS1存在的问题 ROS(一般ROS均指ROS1)经过多年的发展,已成为机器人领域的重要的工具与平台…

【社区图书馆】《uni-app跨平台开发与应用》读书随想录

目录 导言 读书感悟 《uni-app跨平台开发与应用》(从入门到实践)图书目录 作者简介 导言 最近我读了一本关于uni-app跨平台开发与应用的书籍,名为《uni-app跨平台开发与应用从入门到实践》。这本书让我对uni-app跨平台开发与应用有了更深入的了解,作…

HttpServletResponse注意事项和细节和原理示意图

目录 HttpServletResponse HttpServletResponse 介绍 HttpServletResponse 类图 向客户端返回数据方法 处理中文乱码问题-方案 处理中文乱码问题-方案 2 请求重定向 请求重定向原理示意图 应用实例 DownServlet Java类 DownServletNew.java xml配置 请求重定向注意…

Ubuntu中用VSCode交叉编译程序放到从机上运行

文章目录 前言:1. 前期准备:1.1 树莓派系统烧录与虚拟机创建1.2 VSCode拓展下载 2. 树莓派交叉编译链查询与下载2.1 交叉编译链如何判断下哪一个2.2 交叉编译链各种版本含义 3. 开始操作3.1 创建helloworld程序3.2 配置交差编译链3.3 json文件说明与配置…

变压器感量计算

1、L:感量计算LBmax*Ae*Np*R/V0.3*17.1*123*1.8/1.01.15mH 第一步:根据经验确定一个大概的感量值。 第二步:实际Sense电压波形测试,判断有没磁饱和,频率是否正确。 W功率 L感量 变压器 …

学系统集成项目管理工程师(中项)系列08a_合同管理(上)

1. 合同(Contract) 1.1. 契约 1.2. 广义概念 1.2.1. 以确定各种权利与义务为内容的协议,即只要是当事人之间达成的确定权利义务的协议均为合同,不管它涉及哪个法律部门及何种法律关系 1.2.2. 合同除应包括民法中的合同外&…

HTTP请求UML时序图--(POST)图和(GET)图源码分析及代码分析和MIME 介绍--常用的状态码说明

目录 WEB 开发通信协议-HTTP 什么是 HTTP 协议 介绍 http 请求 hi.html 的 UML时序图 HTTP 请求包分析 1. HTTP 请求包分析(GET)图, 说明 可以通过浏览器抓包分析 代码说明 HTML部分 JAVA部分 web.xml部分 3) 完成测试,并抓包分析 HTTP 请求包分析(POST…

汽车车身钣金—车身连接方式

摘要: 当汽车车身构件遭受严重损伤失去维修意义时,汽车维修厂商一般采用更换部件或总成的方法进行修复。 车身连接方式 当汽车车身构件遭受严重损伤失去维修意义时,汽车维修厂商一般采用更换部件或总成的方法进行修复。 车身外部覆盖件大多由相对独立的板件相互…

场效应管(MOS)基础知识

MOSFET管是常用的半导体器件,又称为开关管、场效应管、英文名称(MOSFET),简称MOS管 按元件封装工艺可分为两大类:插件类、贴片类。大部分MOSFET管的外观极其类似,常见的封装种类有T0-252,T0-251,T0-220,T0—…

清华发布工具学习框架,让ChatGPT操控地图、股票查询,贾维斯已来?

文|小戏 首先来考大家一道初中历史题:人区别于动物的根本标志是什么›?书上的标准答案是人会制造与使用工具。那么再来一道思考题,如果 AI 会使用甚至会制造工具了以后,会发生什么呢?是像贾维斯一样的 AI 私…

【Java基础】day16

day16 一、switch-case 和 if-else 谁更快? switch-case 在 switch-case 中,case 的值是连续的话,会生成一个 TableSwitch 来进行优化,这样的情况下,只需要在表中进行判断即可。 这里使用 0-4 的连续值来进行测试 如…

UE4: Niagara系统实现雨天效果,并跟随人物移动

目录 创建雨丝Niagara系统雨丝跟随人物移动 创建雨丝Niagara系统 1.创建一个Niagara系统 选择Fountain选项,点一下加号,再点完成: 命名一下打开: 先从粒子生成的方向入手,在Niagara的界面中删掉“Add Velocity in…

springboot+vue小区物业管理系统(源码+文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的小区物业管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者:风…

C11新特性之Lambda表达式

一.lambda语法 优点: 1.可以定义简短的函数。 2.使用lambda表达式使代码更紧凑,可读性更好。 语法: []表示不捕获任何变量[this]表示值传递方式捕捉当前的this指针 [&]表示引用传递方式捕捉所有父作用域的变量(包括this&…

[架构之路-170]-《软考-系统分析师》-5-数据库系统-1-数据库模式、数据模型、数据库访问的标准接口

在当今的知识经济时代,信息是经济发展的战略资源,信息技术已经成为社会生产力中重要的组成部分。人们充分认识到,数据库是信息化社会中信息资源管理与开发利用的基础,当今的计算机信息系统也都以数据库技术为基础。对于一个国家来…

Linux DNS服务

DNS 作用 DNS是 域名系统 的英文缩写,作为将域名与IP地址相互映射的一个分布式数据库,让人可以通过域名访问互联网 正向解析 将域名解析为IP反向解析 根据IP查找对应域名 域名结构 http://www.sina.com.cn./ http://主机名.子域.二级域.顶级域.根域 / 每…

【Linux学习】信号——预备知识 | 信号产生 | 核心转储

🐱作者:一只大喵咪1201 🐱专栏:《Linux学习》 🔥格言:你只管努力,剩下的交给时间! 信号 🔔信号🎵预备知识🎵信号处理方法的注册 🔔信…

C/C++每日一练(20230421)

目录 1. 位1的个数 🌟 2. 递归和非递归求和 ※ 3. 俄罗斯套娃信封问题 🌟🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 位1的…

大数据技术之Kafka——Kafka入门

目录 一、概述 1.1 为什么要有Kafka ​编辑 1.2 定义 1.3 消息队列 1)消息队列的应用场景 2)消息队列的两种模式 1.4 基础架构 二、Producer生产者 2.1 生产者消息发送流程 2.1.1 发送原理 2.2 异步发送API 2.2.1 普通异步发送 2.2.2 带回调…