自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 使用FileZilla文件传输配置教程以及报错解决方法

我就在开始传输的时候直接出现这个报错,在检查后发现是文件的权限不够,由于传输过程中这个文件夹没有写的权限,因此需要改一下这个文件的权限。sudo vi /etc/vsftpd.conf 或者 sudo gedit /etc/vsftpd.conf。3、确定开启 Ubuntu 下的 FTP 服务,并且linux的。上找到自己的ip地址,命令ifconfig。在软件上设置ip,用户名,密码。1、软件的安装比较简单就不做过多介绍。确保下面这两个服务是开启的。修改权限后就可以了。

2024-09-18 11:14:22 274

原创 Linux系统ubuntu20.04环境下配置无人机PX4、gazebo环境仿真

由于需要在gazebo中仿真无人机的环境,因此需要下载PX4的固件,来最终实现一个虚拟无人机。有了git工具后,就可以直接拉取代码了,如果由于网速,或者墙的原因,那就可以在gitee上下载,结果是一样的,具体参考。还有就是,开始我给系统分配了20G的存储,结果编译PX4的时候提示空间不够报错了。PX4的源码处于GitHub上,所以需要安装git,来下载源码包,ubuntu环境下安装git非常简单,使用。但这样还不行,这样扩充的容量是未分配的,需要分配给文件系统才可以。

2024-09-14 14:22:41 335

原创 Could not find a version that satisfies the requirement dronekit (from versions: )No matching

我使用的环境:win11,python2.7.2,并使用自带的pip来安装软件包。可以使用pip -V来查看版本号。在我的windows电脑上安装dronekit出现上述情况的报错,记录一下解决方法。

2024-09-03 16:36:14 182

原创 qt quick项目中如何将qml文件放到同一个目录下,使得混乱的目录结构清晰

上面这张图是目前的项目结构图,实现了文件的分类管理。在初始的qt quick项目中创建的qml文件都会和源文件、cmake文件在同一个目录下。这样随着项目文件的增加,会出现项目文件混乱现象,不方便管理,因此需要对qml文件进行同意管理。因此,我们将qml文件都放在同一个qml的目录下面。将qml统一放到文件夹后,需要将qml文件引入到项目中,因此需要在CMakeLists.txt文件中添加引用路径。需要注意的是,在main.c文件中需要修改main.qml文件的引用路径。

2024-08-08 14:03:39 183

原创 Qt quick+cmake项目设置程序和窗体图标

首先设置窗体和程序的图标需要ico格式的图片,而且需要满足图标格式。可以将普通图片文件转换为ico格式的图标,可以在网上找在线的格式转换网站,参考。并修改文件名为logo.rc,如第一张图。将转换的图标文件放到与CMakeLists.txt同目录下。在之后构建程序并运行即可。

2024-08-06 16:47:31 260

原创 C++共享指针shared_ptr的简单用法

共享指针shared_ptr是智能指针的一种,主要是用来自动管理所指向对象的内存,避免了内存泄漏和悬空指针等问题。共享指针使用的是引用计数的方法,它在内存中只保留一份,当引用计数为0时,程序后自动销毁这部分的内存。当我们同时使用裸指针和共享指针指向同一个对象时,当共享指针引用计数为0时,同样会释放这部分内存,那么使用裸指针访问该部分内容就会报错。最近用到功能开发的问题,需要使用到共享指针来实现对象内存的自动管理。需要注意一点,当需要拿到这个共享指针的裸指针时,可以使用它的get()方法,来拿到其裸指针。

2024-08-05 14:54:00 220

原创 QGC地面站设置航点(waypoint)显示空白

在使用qgroundcontrol地面站时,在使用航点规划来设置航点任务时,出现设置航点出现空白且航显示不出来的问题。

2024-07-29 14:23:34 480

原创 :-1: error: The kit needs to define a CMake tool to parse this project.

我不知道我是幸运的(还是不幸的,这取决于我的观点),但是为了解决这个问题,我简单地退出了Qt Creator并重新启动了它。将独立的 CMake 安装到“C:\Program Files\CMake\bin\cmake.exe”中, 并使用它来代替通过 QT 安装的 CMake。我尝试打开的每个项目(直到前一天工作得很好的项目),我总是得到“工具包需要定义一个CMake工具来解析这个项目”的错误。所以目前就这两种解决的思路吧,后面找到其他解决方法在更新吧!这个方法有的时候可行,但有的时候也解决不了问题。

2024-07-24 13:44:19 840

原创 ANOMALY: use of REX.w is meaningless (default operand size is 64)

出现这种问题通常是由于安装的监控软件(如浪潮的IP-GUARD)与这些IDE或Git发生冲突所致。我是在QT Creator中遇到了这个问题,下面是解决方法:主要是在注册表中添加一些权限即可。3. 在这个路径下,新建一个字符串值,名称可以为。来检查是否安装了可能导致问题的监控软件。,数值数据设置为受影响的程序名称,例如。1. 打开注册表编辑器(可以通过运行。4. 同时新建一个字符串值,名称为。

2024-07-24 11:14:26 467

原创 :-1: error: dependent ‘..\..\..\..\..\..\QTCreator\6.6.3\msvc2019_64\include\QtWidgets\QMainWindow‘

是为了确保你的项目文件在构建系统中的路径解析是正确的,特别是当你不希望项目文件被错误地识别为嵌套项目的一部分时。这通常用于避免在处理路径时产生意外的行为。在我运行QT官方给的MQTT测试demo的例子中,出现上述问题的报错。

2024-07-24 10:21:20 683

原创 windows环境下 QGC地面站6.6.3和5.15.2版本的构建方法

目前来说,QGC官网有两个主要维护的版本。一个是master版本,主要使用6.6以上的版本构建,另一个是4.3版本。前者使用的qt版本要使用6.6.3版本,后者需要使用的qt版本是5.15.2。所以需要的构建版本不同。在里面找到开发者指导手册,按照要求安装两个版本的构建环境即可。

2024-07-23 10:16:10 325

原创 QGC地面站二次开发(一)添加新的一栏选项卡

上面的代码需要注意的地方是,_appSettings.mqttServer、_appSettings.mqttHostName、_appSettings.mqttTopic这三个值需要在App.SettingsGroup.json中添加。在qgc的界面中添加一栏新的选项卡,用来配置消息流转到MQTT服务器的地址以及Topic。在打开的QGC源码中,参考MAVLink Forwarding的选项卡代码(qml代码) ,我在其下方增加了一个新的选项卡,用来配置MQTT服务器。在AppSettings.h中。

2024-07-17 17:37:26 302

原创 QGC地面站软件中Mavlink Forwarding转发功能的实现流程

在LinkManager::_updateAutoConnectLinks函数体中,调用了_addMAVLinkForwardingLink()这个函数。函数体中使用了连接信号槽的connect方法,来实现消息的接收和转发,具体的实现可看代码,比较容易理解。首先在qgc中会有LinkManager::_updateAutoConnectLinks函数,该函数中包含多种连接的实现,如串口,udp和forwarding流转连接的实现。来按一定时间的间隔来自动调用,这就实现了QGC地面站软件自动连接设备的功能。

2024-07-17 10:19:54 291

原创 使用wifi模块连接QGC地面站之esp-01烧写固件

我手里刚好有两个烧录器,其中一个烧录器已经在后面短接了esp-01的GPIO-0引脚与gnd引脚,这样方便烧录。点击...来添加固件位置,并在后面添加上0x00000,这个地址通常指的是固件刷写的起始地址,即闪存的起始地址。固件刷后,只需要给模块上电(IO0不用接地),模块会有一个叫PixRacer热点出来,密码默认pixracer,连上wifi后,打开地面站会自动连接上。这篇博客主要记录给esp-01wifi模块烧写px4官方给的固件,来让wifi芯片可以连接我们电脑上的QGC地面站。

2024-07-05 16:14:46 378

原创 qml与c++交互通信(四)c++端与qml端相互直接调用函数

这里使用的方法是通过QMetaObject::invokeMethod()方法来调用qml端的函数,此方法应用较少,不过多介绍。这样后就可以在qml端直接调用c++端的函数方法了。

2024-06-28 13:57:59 238

原创 qml与c++交互通信(三)c++端发送信号并绑定qml端槽函数

因此我们换成在c++端触发信号,这个也比较简单,使用emit关键字就可以了。做法如下:在Q_INVOKABLE修饰的函数中触发信号,fun()方法的代码如下:并在qml端代码调用fun()方法就可以了。在button按钮的点击事件后,调用这个函数。

2024-06-28 11:24:21 614

原创 qml与c++交互通信(二)qml端发送信号并绑定c++端槽函数

qml与c++的信号绑定通常是在qml界面端设置一个信号,而需要绑定c++界面的槽函数。在或者是c++设置的信号,需要绑定qml界面端的槽函数。这篇博客主要介绍qml与c++之间的信号绑定方法。

2024-06-26 12:21:24 818

原创 qt quick项目中实现qml界面与c++后端之间的交互通信

include//需要的头文件//用这两种表述都可以,auto自动推断类型在main.cc文件中添加上述代码后,即可在qml文件直接使用myset来使用。比如赋值给窗口的宽度。按上述设置后即可在所有的qml文件中使用myset。这种方法的弊端是使用上下文注册的类型都是作用于全局的,这种做法可能会带来性能的影响,同时,在各个文件中可能出现重复的名称,如int myset = 1000,那么则会直接使用本地的数据。

2024-06-25 17:48:07 649

原创 虚拟机VMware软件下载和安装教程

VMware的下载与安装

2024-06-21 17:17:21 441

原创 QT基础知识学习:qmake、构建、重新构建、运行、清除

什么情况下需要执行qmake呢,项目创建时,及项目文件结构发生变化,也就是增删文件时。注意:构建和重新构建时,如果没有MakeFile文件,会根据pro文件等生成MakeFile后,再进行编译。4、运行:如果有改动则根据已有的MakeFile进行重新编译、执行,否则就直接运行已有的.exe文件。2、构建:构建是增量编译,只编译有变化的部分,同时生成.exe,还有许多.o目标文件。5、清理:只留下.exe文件,构建时生成的文件被删除掉;总结:qt项目的执行顺序应该是:qmake-构建-运行。

2024-05-24 14:20:27 578

原创 运行QT的.exe程序出现缺少动态链接库以及无法定位程序输入点的两种不同情况的解决办法

我的电脑由于存在了一个anaconda的环境有着mingw的路径,结果程序出现了上面三张图片中显示的错误,分别显示缺少Qt6Core.dll、Qt6Widgets.dll和Qt6Gui.dll的错误。在加入mingw-64的环境变量到系统环境的path路径中后,然后出现报错。因为QtCreator的环境变量在mingw环境变量的上方造成的。具体解决做法可以将QT的bin环境变量上移,即可解决问题。具体解决办法是将上面的环境变量下移即可。出现这种情况是因为下面的设置造成的。一、出现无法定位程序输入点的错误。

2023-11-15 15:22:14 2880 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除