004-Windows下开发环境搭建

头图

Windows下开发环境搭建

文章目录

  • Windows下开发环境搭建
    • 项目介绍
    • 版本控制工具
      • Git 与 SVN
      • Window下安装Git
    • Qt 开发工具
      • 静态编译Qt环境安装
    • 串口模拟器
    • 比较工具
    • SQLite 数据库查看小工具
    • 预告

关键字: QtQml开发环境WindowsC++

项目介绍

欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。

在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。

在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。C++ 是一种强大的编程语言,能够提供卓越的性能和可扩展性。我们的团队致力于优化代码,减少资源消耗,以确保我们的项目在各种平台和设备上都能够高效运行。

无论您是对 QML 和 C++ 开发感兴趣,还是需要我们为您构建复杂的用户界面和后端逻辑,我们都随时准备为您提供支持。请随时联系我们,让我们一同打造现代化、高性能的 QML & C++ 项目!

重要说明☝

☀该专栏更新到第三代软件开发时将转为收费专栏

版本控制工具

在软件开发中,版本控制是非常重要的。它是一种用于跟踪和管理代码变更的系统,可以帮助开发团队协同工作、保证代码质量,并提供许多其他好处。

以下是版本控制的重要性:

  1. 代码管理:版本控制系统(VCS)允许开发人员跟踪和管理代码的各个版本。团队成员可以同时为同一个项目工作,每个人都可以独立地进行修改和提交代码。如果出现问题或错误,可以轻松地回滚到之前的版本或修复错误。

  2. 团队协作:版本控制使得多个开发者能够协同工作。不同开发人员可以并行工作在不同的功能分支上,然后将它们合并到主分支中。这样可以避免冲突和覆盖对方的工作。

  3. 版本追踪:版本控制系统记录了每次代码提交的详细信息,包括谁做出了更改、何时做出的更改以及更改的内容。这对于项目的历史追踪和代码审查非常有用。它还提供了一个可追溯的日志,可以帮助定位引入问题或错误的具体更改。

  4. 错误恢复与回滚:当出现问题时,版本控制允许开发人员轻松回滚到之前的稳定状态。如果新功能导致了严重的错误或不稳定性,可以快速恢复到上一个可用版本,并在修复问题之后重新发布。

  5. 分支管理:版本控制系统还提供了分支管理功能。这意味着可以创建不同的代码分支来同时进行多个工作流程,例如开发新功能、修复错误或实验性开发。每个分支都可以独立进行修改和测试,然后再合并到主分支中。

  6. 团队沟通和协调:通过版本控制系统,团队成员可以更好地进行沟通和协调工作。他们可以看到彼此的更改和注释,并且容易了解项目的进展情况。

  7. 备份和恢复:版本控制系统本身就是一种备份机制,它可以确保代码的多个副本存在于不同的位置。这样,在硬件故障、数据丢失或其他灾难情况下,可以轻松地恢复代码。

总的来说,版本控制对于软件开发团队来说是至关重要的。它提供了代码管理、团队协作、错误恢复、分支管理等多个方面的好处,能够提高开发效率、代码质量和团队协同能力。

Git 与 SVN

Git和SVN都是版本控制系统,但它们在设计和功能上存在一些重要的区别。

  1. 分布式 vs 集中式:Git是分布式版本控制系统,每个开发者都有完整的代码仓库副本。这意味着开发者可以在本地进行大部分操作,包括提交、分支创建和合并等,而不需要依赖于中央服务器。相比之下,SVN是集中式版本控制系统,开发者需要与集中服务器进行交互,提交和获取代码变更。因此,在没有网络连接时,Git具有更好的适应性和独立性。

  2. 版本控制方式:Git使用快照(snapshots)的方式来记录和跟踪文件的变化,而SVN使用差异(differences)的方式。Git的快照方法更加高效,可以更快地执行常见操作,如提交和回滚。SVN的差异方式需要从服务器上获取完整的差异信息,对于大型项目可能会导致较慢的操作速度。

  3. 分支和合并:Git在分支和合并方面非常强大和灵活。开发者可以轻松地创建和切换分支,进行并行开发,并在需要时将分支合并到主线上。Git的分支管理是其核心特点之一,使得团队协作更加容易。相比之下,SVN的分支和合并操作较为复杂和受限,需要更多的手动操作。

  4. 历史追踪和日志:Git记录每个提交的完整快照,包括作者、日期、注释等信息,可以轻松追溯代码的历史。它还提供了强大的分支查看、可视化工具和详细的提交日志。SVN也提供了版本历史和日志,但在这方面相对简化。

总的来说,Git逐渐成为最流行和广泛使用的版本控制系统,因其分布式设计、高效性能、灵活的分支和合并功能以及强大的历史追踪和日志功能而备受开发者青睐。SVN仍然适用于一些特定的场景,特别是在传统集中式开发环境中,或者项目已经使用了SVN作为版本控制工具。

这里可以更具自身喜好以及公司习惯和项目特性选着合适的版本控制工具,我们团队目前使用了Git 作为软件版本工具,目前已经影响到了电路部门与我们一起使用Git来作为软件版本控制工具。

Window下安装Git

嘿嘿,这个好像没有什么好说的哈,如果喜欢使用指令方式,可以直接安装官方的Git软件,喜欢图形界面操作的话,Windows可以选着的就更多了,我们使用了 GitHub Desktop,这里满足需求即可,同时版本控制也是一项软实力,现在去一家公司写代码,如果你说你不会版本控制工具,那是不行的。

Qt 开发工具

如果我们需要与VS 结合开发,那么建议要线安装对应版本的VS,完了再安装Qt,因为我们是准备后期转Linux平台的,所以这里我们就直接使用MinGW64套件了,不过在WIndows平台下,我们会“静态”编译测试了,这里为什么要加引号,因为静态好像要确保你买了Qt。我们静态编译主要是为了测试性能,所以暂时嘿嘿嘿。

静态编译Qt环境安装

要是我把原来的文章在复制一份,我把大家给我寄锤子,所以这里还是直接上连接

https://dreamlife.blog.csdn.net/article/details/125096281

image-20230711225834303

串口模拟器

前面几篇说了,目前我们的电路板还可能是沙子了,所以这里为了调试方便,需要用到虚拟串口,这里就推荐VSPD,截图如下,崩下载错了。

image-20230703222252846

比较工具

这个目前我接触的也就是BCompare了,截图如下

image-20230703222409659

SQLite 数据库查看小工具

因为项目涉及到了数据的保存,而且计划程序运行日志也记录到数据库中,这里前期就需要使用到数据库小工具了,两个目的。

  1. 验证软件中的SQL语句知否可以正常执行,在我们程序为按照预期执行是,可以将SQL语句打印,复制到小工具中执行测试,如果SQL语句存在问题,小工具可以快速协助我们找到问题点
  2. 后期我们数据量很大,可能需要使用到MATLAB来协助分析数据,这就需要就数据导出到到cvs,方便分析。

这里推荐两个小工具SQLiteSpysqlitestudio

image-20230703223331322

sqlitestudio好像不允许有中文路径

image-20230703223509093

那么咋Windows平台下基本用到的工具就这些了。有了这些,我们就可以开始干活了。

预告

前面也说了,我们后期是准备转Linux的平台的,所以和面还会有Linux 的环境搭建。


博客签名2021

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

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

相关文章

数据库操作-DML/DQL

数据库操作-DML DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增、删、改操作。 添加数据(INSERT) 修改数据(UPDATE) 删除数据(DELETE) 增加(ins…

python 异常

1.捕获异常 2.密码爆破 3.

基于b/s架构搭建一个支持多路摄像头的实时处理系统 (3) -- Django 结合WebSocket 进行实时图像与消息的展示, 前后端交互与定时任务的重构

文章大纲 consumersself.scope参考文献与学习路径javascript html websocketpython 定时任务Django 实时通信后端 channelconsumers https://channels.readthedocs.io/en/stable/topics/consumers.htmlself.scope consumer在初始化时会接受链接的scope,类似于Django中的reque…

查看云桌面请求linux服务器网络快慢

要查看云桌面请求 Linux 服务器的网络快慢,您可以使用一些网络诊断工具和命令来评估连接的性能。以下是一些方法: 使用 ping 命令: ping 命令可以测试与目标服务器之间的网络连接。在终端中运行以下命令以测试服务器的响应时间: p…

【业务功能118】微服务-springcloud-springboot-Kubernetes集群-k8s集群-KubeSphere-OpenELB部署及应用

OpenELB部署及应用 一、OpenELB介绍 网址: openelb.io OpenELB 是一个开源的云原生负载均衡器实现,可以在基于裸金属服务器、边缘以及虚拟化的 Kubernetes 环境中使用 LoadBalancer 类型的 Service 对外暴露服务。OpenELB 项目最初由 KubeSphere 社区发…

用Python把csv文件批量修改编码为UTF-8格式并转为Excel格式

有时候用excel打开一个csv文件,中文全部显示乱码。然后手动用notepad打开,修改编码为utf-8并保存后,再用excel打开显示正常。 使用Python通过很少代码就能将上面过程自动化。 导入3个模块 import pandas as pd import os import chardetc…

Python 3 – 文件 readline() 方法

Python 3 – 文件 readline() 方法|极客笔记 # 打开文件 file open("example.txt", "r")# 读取文件中的一行数据 line file.readline() while line:# 移除行尾的换行符print(line.strip())# 读取文件中的下一行数据line file.readline()# 关闭文件 file…

【Seata】05 - Seata Saga 模式简单整理、Docker 部署 Nacos 单机(基于 Jpom)相关配置

文章目录 前言参考目录Saga 模式知识点简单整理1、适用场景、优缺点2、Saga 模式的使用3、可能出现的问题以及解决方法 Docker 部署 Nacos 单机(基于 Jpom)步骤 1:拉取镜像步骤 2:构建容器步骤 3:Nacos 设置 Seata 配置…

自动化测试工具slelnium的初体验

1.slelnium介绍 1.1 一个Web的自动化测试工具,最初是为网站自动化测试而开发的。 1.2 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器),可以接收指令,让浏览器自动加载页…

代码随想录Day41| 343. 整数拆分 |

343. 整数拆分 class Solution { public:int integerBreak(int n) {vector<int> f(n1,0);f[2]1;for(int i3;i<n;i){for(int j1;j<i-1;j){f[i]max(f[i],max(f[i-j]*j,(i-j)*j));}}return f[n];} }; 96. 不同的二叉搜索树 class Solution { public:int numTrees(int…

Flask 使用 JWT(二)

在 Python 使用 JWT 主要的方案是 PyJWT 工具。 安装与基本使用 可以使用 pip 安装 PyJWT: $ pip install pyjwt编码与解码 编码函数 def encode( self, payload: Dict[str, Any], # payload 参数 key: str, …

SkyWalking快速上手(六)——告警

文章目录 前言一、什么是SkyWalking的告警功能二、为什么要使用SkyWalking的告警功能1. 及时发现异常情况2. 提高故障处理效率3. 避免数据丢失和损坏4. 提升系统性能和稳定性 三、如何使用SkyWalking的告警功能1. 告警规则2. 告警通知3. 告警持续时间 四、注意事项1、合理设置告…

23062QTday2

完善登录框 点击登录按钮后&#xff0c;判断账号&#xff08;admin&#xff09;和密码&#xff08;123456&#xff09;是否一致&#xff0c;如果匹配失败&#xff0c;则弹出错误对话框&#xff0c;文本内容“账号密码不匹配&#xff0c;是否重新登录”&#xff0c;给定两个按钮…

vim使用

一、vim配置文件 "查看自己的vimrc所在的目录 "在命令模式下 :echo $MYVIMRC"打开自己的vimrc文件 "在命令模式下 :e $MYVIMRC 二、字体 "查看自己当前的字体及大小 "在命令模式下 :set guifont?"设置默认的字体为仿宋_GB2312&#xff…

ROS 入门

目录 简介 ROS诞生背景 ROS的设计目标 ROS与ROS2 安装ROS 1.配置ubuntu的软件和更新 2.设置安装源 3.设置key 4.安装 5.配置环境变量 安装可能出现的问题 安装构建依赖 卸载 ROS架构 1.设计者 2.维护者 3. 立足系统架构: ROS 可以划分为三层 ROS通信机制 话…

react d3使用循环显示多个地图

首先需要写一个组件&#xff1a; import React, { useState, useEffect, useRef } from react; import ChinaMap from moment; import * as d3 from d3; import chinaGeoJson from china-geojson/src/geojson/china.json;const MyMapToShowResult ({ realData }) > {const…

笔记 | 十六进制不进位加法

这里写自定义目录标题 题目极笨代码错误原因正确代码 题目 Time Limit: 1000 ms Memory Limit: 256 mb 16进制不进位的加法&#xff0c;即和正常加法类似&#xff0c;只是不用去计算进位的数&#xff0c;比正常的加法更简单。 如A 6 0&#xff08;正常加法是10&#xff0c;…

使用JAXB将xml转成Java对象

文章目录 使用JAXB将xml转成Java对象1. xml内容2. Java对象类3. 封装的工具类4. 测试 使用JAXB将xml转成Java对象 工作中遇到个问题&#xff0c;需要将xml转对象&#xff0c;之前复杂的xml都是自己用dom4j来解析组装成Java对象&#xff0c;但是对于简单的&#xff0c;看到了JAX…

SQL中的PowerDesigner逐步深入提问,你能掌握多少?

你提到了有PowerDesigner操作经验&#xff0c;请解释一下PowerDesigner是什么&#xff0c;以及它在数据库设计和开发中的作用是什么&#xff1f; 标准回答&#xff1a; PowerDesigner是一种数据库建模和设计工具&#xff0c;它用于创建数据库模型、设计表结构、定义关系和生成…

android.support.multidex.MultiDexApplication:DexPathList

修改项目的build.gradle文件&#xff0c;使用multidex并添加multidex库作为依赖&#xff0c;如下所示&#xff1a; android { defaultConfig { ... minSdkVersion 21 targetSdkVersion 28 multiDexEnabled true } ... } dependencies { compile com.android.support:multidex…