【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、总结
一步一个脚印
相关文章:
【QT 5 调试软件+(Linux下验证>>>>串口相关初试串口)+Windows下qt代码在Linux下运行+参考win下历程+基础样例】
【QT 5 调试软件Linux下验证>>>>串口相关初试串口参考win下历程基础样例】 1、前言2、实验环境3、先行了解4、自我总结-win下工程切到Linux下1、平台无关的代码:2、依赖的库:3、文件路径和换行符:4、编译器差异:5、构…...
地址栏不安全提示
在使用浏览器时访问网站的时候,我们可能会遇到地址栏提示不安全的情况。这种情况通常都是是由于未安装有效SSL证书或者网站SSL证书过期等原因导致的。本文将介绍如何处理地址栏提示不安全的问题,以确保我们的上网安全。 1,缺少SSL证书&#x…...
glib编译与实战
文章目录 下载编译修正实战参考 下载 https://ftp.acc.umu.se/pub/GNOME/sources/glib/ 编译 cd glib mkdir buildmeson --prefix/home/glib build ninja -C build ninja -C build install修正 meson.build:1:0: ERROR: Meson version is 0.53.2 but project requires >…...
PHP基础(4)
目录 一、PHP 创建用户定义函数 二、数组 数组的排序函数 一、PHP 创建用户定义函数 用户定义的函数声明以单词 "function" 开头: PHP自定义函数是指用户自行定义的函数,以满足自己的编程需求。在PHP中,可以通过以下语法来定义一…...
软件安全设计
目录 一,STRIDE 威胁建模 1,STRIDE 2,总体流程(关键步骤) 3,数据流图的4类元素 二,安全设计原则 三,安全属性 一,STRIDE 威胁建模 1,STRIDE STRIDE 是…...
Mysql、Oracle安全项检查表及操作脚本
软件开发全资料获取:点我获取 Mysql检查表 Oracle检查表...
单片双向马达驱动芯片D6208的芯片描述
D6208 是一块单片双向马达驱动电路,它使用TTL电平的逻辑信号就能控制卡式录音机和其它电子设备中的双向马达。该电路由一个逻辑部分和一个功率输出部分组成。逻辑部分控制马达正、反转向及制动,功率输出部分根据逻辑控制能提供100mA(典型值&a…...
使用ansible命令部署k8s集群
1.部署ansible集群 使用python脚本一个简单的搭建ansible集群-CSDN博客 2.ansible命令搭建k8s: 1.主机规划: 节点IP地址操作系统配置server192.168.174.150centos7.92G2核client1192.168.174.151centos7.92G2核client2192.168.174.152centos7.92G2核…...
【上海大学数字逻辑实验报告】四、组合电路(三)
一、 实验目的 掌握多路选择器74LS151的原理。掌握译码器74LS138的原理。学会在Quartus II上使用多路选择74LS151设计电路。学会在Quartus II上使用译码器74LS138设计电路。 二、 实验原理 多路选择器又称数据选择器或多路开关,它是一种多路输入单路输出的组合逻…...
centos安装node 、npm 、nvm
你好,这是Bing。我可以帮你用nodejs写一个http服务器。😊 根据我的搜索结果,你需要使用 require 指令来加载和引入 http 模块,然后使用 http.createServer 方法来创建一个服务器实例,最后使用 listen 方法来监听一个端…...
年终福利|鹅厂重磅AI绘画训练营带你玩转SD
2023年,AI绘画火遍全网,站在12月的中旬回望,这个AI时代必备技能你get了吗?如何掌握图像生成方法?怎样基于Stable Diffusion打造个人专属AI绘画模型,落地项目应用? 腾讯云开发者社区联合腾讯云AI…...
arXiv学术速递笔记12.8
文章目录 一、GSGFormer: Generative Social Graph Transformer for Multimodal Pedestrian Trajectory Prediction(GSGFormer:用于多通道行人轨迹预测的产生式社会图转换器)二、AnimateZero: Video Diffusion Models are Zero-Shot Image An…...
大模型元年压轴盛会定档12月28日,第十届WAVE SUMMIT即将启航
文章目录 1. 前言2. WAVE SUMMIT五载十届,AI开发者热血正当时3. 酷炫前沿、星河共聚!大模型技术生态发展正当时 1. 前言 回望2023年,大语言模型或许将是科技史上最浓墨重彩的一笔。从技术、产业到生态,大语言模型在突飞猛进中加速…...
基于conda环境使用mamba/conda安装配置QIIME 2 2023.9 Amplicon扩增子分析环境,q2cli主要功能模块介绍及使用
QIIME 2 2023.9 Amplicon Distribution介绍: 概述 qiime团队专门针对高通量扩增子序列分析退出的conda集成环境,包括了主要和常见的扩增子分析模块,用户可以单独使用各个模块,也可以使用各模块组成不同的分析流程。从2023.09版本…...
腾讯-轻量应用服务器centos7中宝塔安装MySQL8.0出现内存不足
目录 前言 出现的问题: 解决方法: 编译安装: 极速安装 其他 我的其他博客 前言 说实话,本人也就是个穷学生买不起啥大的服务器啥的,整了个2核 2内存的服务器 用宝塔按mysql5.5是没问题的,一切换8.0就提醒内存不足…...
调用Win10隐藏的语音包
起因 在做一个文本转语音的Demo的时候,遇到了语音包无法正确被Unity识别的问题。明明电脑上安装了语音包但是代码就是识别不出来 原因 具体也不是非常清楚,但是如果语言包是在的话,大概率是Win10系统隐藏了。 确定语言包 首先查看%windi…...
【WPF】应用程序和已知安卓设备的局域网IP之间进行通信
要在WPF应用程序和已知安卓设备的局域网IP之间进行通信,可以使用Socket通信。以下是一个基本的示例: 在WPF应用程序中创建一个Socket对象并连接到安卓设备的IP地址和端口号: using System.Net.Sockets;// 创建一个Socket对象 Socket socket…...
linux Ubuntu下,第一个C++程序访问数据库,遇到的问题,及解决办法
在ubuntu下安装了mysql,mysql以后,编写了第一个访问数据库的程序: #include <iostream> #include <string> #include <cstdlib> //for system #include <mysql.h>using namespace std;int main() {mysqlpp::Connect…...
【Flink on k8s】- 7 - 在本地运行第一个 flink wordcount job
目录 1、环境准备 2、代码开发 3、启动运行 4、在控制台找到 web ui,查看监控...
velocity-engine-core是什么?Velocity模板引擎的使用
velocity-engine-core是什么?Velocity模板引擎的使用 1. 常见的模板引擎2. Velocity 的语法3.Velocity的使用 相信在日常开发中或多或少都听过或者使用过模板引擎,比如熟知的freemarker, thymeleaf等。而模板引擎就是为了实现View和Data分离而产生的。 而…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论
路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中(图1): mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...
Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...
c# 局部函数 定义、功能与示例
C# 局部函数:定义、功能与示例 1. 定义与功能 局部函数(Local Function)是嵌套在另一个方法内部的私有方法,仅在包含它的方法内可见。 • 作用:封装仅用于当前方法的逻辑,避免污染类作用域,提升…...
消防一体化安全管控平台:构建消防“一张图”和APP统一管理
在城市的某个角落,一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延,滚滚浓烟弥漫开来,周围群众的生命财产安全受到严重威胁。就在这千钧一发之际,消防救援队伍迅速行动,而豪越科技消防一体化安全管控平台构建的消防“…...
macOS 终端智能代理检测
🧠 终端智能代理检测:自动判断是否需要设置代理访问 GitHub 在开发中,使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新,例如: fatal: unable to access https://github.com/ohmyzsh/oh…...
