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.

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

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

【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这些无界面的浏览器),可以接收指令,让浏览器自动加载页…

23062QTday2

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

ROS 入门

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

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

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

【漏洞复现】Smanga未授权远程代码执行漏洞(CVE-2023-36076) 附加SQL注入+任意文件读取

文章目录 前言声明一、产品简介一、漏洞描述二、漏洞等级三、影响范围四、漏洞复现五、修复建议六、附加漏洞漏洞一、SQL注入漏洞二、任意文件读取 前言 Smanga存在未授权远程代码执行漏洞,攻击者可在目标主机执行任意命令,获取服务器权限。 声明 请勿利用文章内的相关技术从…

windows彻底卸载unity

1.控制面板卸载 双击打开桌面的控制面板,选择卸载程序,选中Unity和UnityHub右击卸载。 2.清除unity的注册表 在运行中输入“regedit”双击打开注册表界面 删除 HKEY_CURRENT_USER\Software\Unity 下所有项 删除 HKEY_CURRENT_USER\Software\Unity Tec…

电脑怎么取消磁盘分区?

有时候,我们的电脑会出现一个磁盘爆满,但另一个却空着,这时我们可以通过取消磁盘分区来进行调整,那么,这该怎么操作呢?下面我们就来了解一下。 磁盘管理取消磁盘分区 磁盘管理是Windows自带的磁盘管理工具…

BMS电池管理系统的蓝牙芯片 国产高性能 低功耗蓝牙Soc芯片PHY6222

电池管理系统是对电池进行监控与控制的系统,将采集的电池信息实时反馈给用户,同时根据采集的信息调节参数,充分发挥电池的性能。但是,前技术中,在管理多个电池时,需要人员现场调试与设置,导致其…

uniapp h5网页打开白屏

修改了默认基本运行路径,然后直接打开index.html的情况下是会这样,放在nginx服务器上运行就ok了。 把默认的./ 路径修改了:/cloudh5 nginx html目录下放子网站 :/cloudh5:

6-2 pytorch中训练模型的3种方法

Pytorch通常需要用户编写自定义训练循环,训练循环的代码风格因人而异。(养成自己的习惯) 有3类典型的训练循环代码风格:脚本形式训练循环,函数形式训练循环,类形式训练循环。 下面以minist数据集的多分类模…

Spring Boot集成Redis实现数据缓存

🌿欢迎来到衍生星球的CSDN博文🌿 🍁本文主要学习Spring Boot集成Redis实现数据缓存 🍁 🌱我是衍生星球,一个从事集成开发的打工人🌱 ⭐️喜欢的朋友可以关注一下🫰🫰&…

【最新面试问题记录持续更新,java,kotlin,android,flutter】

最近找工作,复习了下java相关的知识。发现已经对很多概念模糊了。记录一下。部分是往年面试题重新整理,部分是自己面试遇到的问题。持续更新中~ 目录 java相关1. 面向对象设计原则2. 面向对象的特征是什么3. 重载和重写4. 基本数据类型5. 装箱和拆箱6. …

华为aarch64架构的泰山服务器EulerOS 2.0 (SP8)系统离线安装saltstack3003.1实践

华为泰山服务器的CPU芯片架构为aarch64,所装系统为EulerOS 2.0 (SP8)aarch64系统,安装saltstack比较困难。本文讲解通过pip安装方式离线安装saltstack3003.1以进行集中化管理和维护。 一、系统环境 1、操作系统版本 [rootlocalhost ~]# cat /etc/os-r…

uniapp 可输入可选择的........框

安装 uniapp: uni-combox地址 vue页面 <uni-combox :border"false" input"selectname" focus"handleFocus" blur"handleBlur" :candidates"candidates" placeholder"请选择姓名" v-model"name"&g…

在微信公众号怎么实现投票活动

微信公众号实现投票活动的方法和步骤 一、投票活动的优势 通过投票活动&#xff0c;微信公众号可以实现用户参与、增加互动、了解用户需求等功能&#xff0c;同时也可以提升品牌知名度和用户粘性。以下是一些投票活动的优势&#xff1a; 增加用户参与度&#xff1a;通过投票活…

Unity中Shader的模板测试

文章目录 前言什么是模板测试1、模板缓冲区2、模板缓冲区中存储的值3、模板测试是什么&#xff08;看完以下流程就能知道模板测试是什么&#xff09;模板测试就是在渲染&#xff0c;后渲染的物体前&#xff0c;与渲染前的模板缓冲区的值进行比较&#xff0c;选出符合条件的部分…