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.hqwc.cn/news/111997.html

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

相关文章

Postman应用——接口请求(Get和Post请求)

文章目录 新增请求Get请求Post请求 这里只讲用的比较多的Get和Post请求方式,也可以遵循restful api接口规范,使用其他请求方式。 GET(SELECT):从服务器取出资源(一项或多项)POST(CR…

控制台日志打印console的封装,加入美化与打印开关

控制台日志打印console的封装,加入美化与打印开关 为什么要写这个? 封装这个控制台日志打印工具,主要是在项目中自己做的SDK需要提供给其他开发人员使用,加入了日志美化和打印打开,方便了开发人员查找SDK中的日志&am…

目标检测前言,RCNN,Fast RCNN,Faster RCNN

一、RCNN: 找到概率最高的目标之后,与其他目标进行IOU交并比计算,若高于一定值,则说明这两张图片预测的是同一个目标,则把概率低的目标删掉 二、Fast RCNN 因为是直接得到特征图之后进行映射,所以不限制输入…

uniapp抽取组件绑定事件中箭头函数含花括号无法解析

版本: "dcloudio/uni-ui": "^1.4.27", "vue": "> 2.6.14 < 2.7"... 箭头函数后含有花括号的时候, getData就拿不到val参数 , 解决办法就是去除花括号 // 错误代码: <SearchComp change"(val) > { getData({ val …

【大数据】Doris 构建实时数仓落地方案详解(二):Doris 核心功能解读

Doris 构建实时数仓落地方案详解&#xff08;二&#xff09;&#xff1a;Doris 核心功能解读 1.Doris 发展历程2.Doris 三大模型3.Doris 数据导入4.Doris 多表关联5.Doris 核心设计6.Doris 查询优化7.Doris 应对实时数仓的痛点 1.Doris 发展历程 Apache Doris 是由 百度 研发并…

讨论问题--数据类型、数组、传值/址API函数等

前言 数据类型是编程语言中用于表示数据的分类。常见的数据类型包括整数、浮点数、字符串、布尔值等。数据类型决定了变量能存储的值的种类和范围。 数组是一种存储多个相同类型数据的数据结构。它通过索引来访问并操作其中的元素。数组在内存中是连续存储的&#xff0c;可以…

OpenCV之YOLOv2-tiny目标检测

&#x1f482; 个人主页:风间琉璃&#x1f91f; 版权: 本文由【风间琉璃】原创、在CSDN首发、需要转载请联系博主&#x1f4ac; 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 目录 前言 一、YOLOv2-tiny介绍 二、预处理 三、模型加载与推理 四、解析输…

ros----发布者和订阅者模型

话题模型&#xff1a; 如何自定义话题消息 1.定义msg文件 2.在package.xml中添加功能包依赖 <build_depend>message_generation</build_depend> <exec_depend>message_runtime</exec_depend>3.在CMakeList.txt文件中添加编译选项 4.编译生成语言的相…

Android 系统中适配OAID获取

一、OAID概念 OAID&#xff08;Open Anonymous Identification&#xff09;是一种匿名身份识别标识符&#xff0c; 用于在移动设备上进行广告追踪和个性化广告投放。它是由中国移动通信集 团、中国电信集团和中国联通集团共同推出的一项行业标准 OAID值为一个64位的数字 二、…

Pytorch Advanced(二) Variational Auto-Encoder

自编码说白了就是一个特征提取器&#xff0c;也可以看作是一个降维器。下面找了一张很丑的图来说明自编码的过程。 自编码分为压缩和解码两个过程。从图中可以看出来&#xff0c;压缩过程就是将一组数据特征进行提取&#xff0c; 得到更深层次的特征。解码的过程就是利用之前的…

详细介绍下路由器中的WAN口

路由器的 WAN 口&#xff08;Wide Area Network port&#xff09;是指用于连接广域网&#xff08;WAN&#xff09;的接口。它是路由器与外部网络&#xff08;如互联网&#xff09;之间的物理连接点&#xff0c;允许路由器与互联网服务提供商&#xff08;ISP&#xff09;或其他广…

风车时间锁管理 - 构建IPA文件加锁+签名+管理一站式解决方案

时间锁管理&#xff1a;是一种用于控制对某些资源、功能或操作的访问权限的机制&#xff0c;它通过设定时间限制来限制对特定内容、系统或功能的访问或执行&#xff0c;以提高安全性和控制性&#xff0c;时间锁管理常见于以下场景&#xff1a; 1. 文件或文档的保密性&#xff…