当前位置: 首页 > news >正文

【QT 5 调试软件+(Linux下验证>>>>串口相关初试串口)+Windows下qt代码在Linux下运行+参考win下历程+基础样例】

【QT 5 调试软件+Linux下验证>>>>串口相关初试串口+参考win下历程+基础样例】

  • 1、前言
  • 2、实验环境
  • 3、先行了解
  • 4、自我总结-win下工程切到Linux下
      • 1、平台无关的代码:
      • 2、依赖的库:
      • 3、文件路径和换行符:
      • 4、编译器差异:
      • 5、构建系统和环境设置:
  • 6、实验样例代码
  • 7、实验过程
        • 1、下载代码
        • 2、下载解压工具
        • 3、使用qt开发工程
        • 4、插入硬件,运行软件
        • 5、验证
  • 8、细节部分
      • 1、USB转TTL转换工具无法使用
  • 9、总结

1、前言

最近要Linux下做相关软件开发了,还要当自己为新手,本着求知求学的心态,再简单的事情,也要好像学习,一面一些不该犯的错误犯了,另外也是趟一些雷,不害怕出错误,哪怕碰到最简单的错误也要好好总结下。

2、实验环境

实验环境还是挺重要的,因为有时候,在你电脑上能运行的东西,在别人的电脑就不一定能运行,这一部分的原因就可能是实验版本不一样。
系统环境:
环境问题还是要注意下的,不同环境下可能还真的可能不一样。
在这里插入图片描述

QT软件版本:qt 5.14.2
硬件设备:CH34的TTL串口转usb模块(使用H7开发板代替)

3、先行了解

在如下这篇文章里,我们安装了软件,并且简单建立一个工程。首次实现了在Linux下运行第一个dome。
【Linux20.04-qt5.12.4软件安装与初步使用-qt在Linux使用-记录-笔记】

如何还没有安装的话,可以先看看。

4、自我总结-win下工程切到Linux下

首先不得不说,qt在跨平台这放面做得挺好的。
这点从我将一个简单的串口样例直接拉倒Linux下运行,就可以看出。但是我们还是要注意下,有些并不能直接运行的。

以下在网上搜索的,整理如下。

在很多情况下,Windows下的Qt代码可以直接在Linux环境中编译和运行,但这也取决于几个因素,这些因素,在实践中运行过程中,会对最后运行结构有影响。

1、平台无关的代码:

Qt框架本身是设计成跨平台的。如果你的代码只使用了Qt的跨平台特性,并没有调用特定于Windows的API,那么这些代码通常可以在Linux上编译和运行而不需要修改。

自己也是刚刚使用Linux下进行开发,依赖外部的工具,比如之前在win下,调用工具exe给STM32单片机烧写的例子,因为Linux下exe无法运行,所以相应工程就无法直接跨平台。
【QT调用ST-link-使用QT编写程序-调用ST-LINK_CLI.exe-烧写STM32F4xxx-基础样例】

2、依赖的库:

如果你的应用程序依赖于特定平台的库或者第三方库,你需要确保这些库也在Linux上可用,并且可能需要对应用程序进行相应的修改。

像之前can相关,自己暂时不知道Linux是否有相关库,不过之前Windows下那个可能不能拿过来直接用,像这种调用外部库的,可能性要查下,能不能直接使用。

3、文件路径和换行符:

Windows和Linux在文件路径(例如,路径分隔符)和换行符上有所不同。Windows使用反斜杠(\)作为路径分隔符和CRLF作为换行符,而Linux使用斜杠(/)作为路径分隔符和LF作为换行符。虽然Qt封装了很多这样的细节,但如果你的代码直接处理了这些,可能需要进行调整。

4、编译器差异:

不同的编译器可能对C++标准的支持程度不同,或者对代码的解释有细微差别。如果你的代码依赖于特定编译器的特性,或者使用了非标准的C++特性,可能需要进行一些调整。

5、构建系统和环境设置:

你可能需要根据Linux环境调整构建脚本或项目文件(如.pro文件),尤其是当涉及到不同的编译器或者特定于平台的构建指令时。

总的来说,如果你的Qt应用程序是以跨平台为目标开发的,并且遵循了良好的编程实践,那么将其从Windows迁移到Linux通常是直接可行的,或者需要的修改非常有限。然而,如果存在平台特定的代码或依赖,那么这个过程可能会更复杂。

6、实验样例代码

这次我们直接使用Windows下的qt代码,选择了串口那个简单样例,如下。
【QT 5 调试软件+串口相关初试串口+基础样例】

代码连接:https://download.csdn.net/download/qq_22146161/86722251

7、实验过程

1、下载代码

在这里插入图片描述

2、下载解压工具
  626  sudo apt-get install unrar628  sudo unrar x test_dome_serial1.rar 

(1)下载工具
自己实际调试时,发现没有安装这个解压工具,所以先安装下,如上边626行命令。
(2)解压
在这里插入图片描述

3、使用qt开发工程

在这里插入图片描述

4、插入硬件,运行软件

一般RS232应该是免驱动的,直接插上就能用。
在这里插入图片描述

5、验证

在这里插入图片描述

8、细节部分

1、USB转TTL转换工具无法使用

这里我发现,USB转TTL转换工具不好用了,记得win下,好像要装驱动的,所以无法使用,后续再看看能不能使用吧。
在这里插入图片描述

9、总结

一步一个脚印

http://www.lryc.cn/news/258328.html

相关文章:

  • 地址栏不安全提示
  • glib编译与实战
  • PHP基础(4)
  • 软件安全设计
  • Mysql、Oracle安全项检查表及操作脚本
  • 单片双向马达驱动芯片D6208的芯片描述
  • 使用ansible命令部署k8s集群
  • 【上海大学数字逻辑实验报告】四、组合电路(三)
  • centos安装node 、npm 、nvm
  • 年终福利|鹅厂重磅AI绘画训练营带你玩转SD
  • arXiv学术速递笔记12.8
  • 大模型元年压轴盛会定档12月28日,第十届WAVE SUMMIT即将启航
  • 基于conda环境使用mamba/conda安装配置QIIME 2 2023.9 Amplicon扩增子分析环境,q2cli主要功能模块介绍及使用
  • 腾讯-轻量应用服务器centos7中宝塔安装MySQL8.0出现内存不足
  • 调用Win10隐藏的语音包
  • 【WPF】应用程序和已知安卓设备的局域网IP之间进行通信
  • linux Ubuntu下,第一个C++程序访问数据库,遇到的问题,及解决办法
  • 【Flink on k8s】- 7 - 在本地运行第一个 flink wordcount job
  • velocity-engine-core是什么?Velocity模板引擎的使用
  • 【华为od】存在一个m*n的二维数组,其成员取值范围为0,1。其中值为1的元素具备扩散性,每经过1S,将上下左右值为0的元素同化为1。
  • docker学习(七、搭建mysql8.2主从)
  • 消费升级:无人零售的崛起与优势
  • 【开题报告】基于SpringBoot的煤炭企业安全宣传学习平台的设计与实现
  • 机器连接和工业边缘计算
  • java系列-LinkedHashMap
  • 【linux】查看CPU和内存信息
  • 【产品经理】产品专业化提升路径
  • Ubuntu(WSL)卸载与安装指定版本的 openssl
  • leetcode1115. 交替打印 FooBar
  • qt有哪些常用控件