Modern C++ Starter Kits Share
初入 C++ 搬砖,在团队中开发实际上很少亲自从零开始搭建C++的完整项目,99%时候都是使用基础架构团队或者CI/CD团队搭建好的框架。这里分享几个配置C++项目的模版,它们一般会涉及三方库管理、格式校准、单元测试、静态检查、Sanitizer配置、CI/CD配置等方面,内容比较完善。

Build System模版
CMake
ModernCppStarter(Github, Gitee)
这个模版非常完整,包含了CI/CD、单元测试、测试覆盖、自动格式化、依赖管理、Sanitizer、代码静态分析等配置,非常完善,通俗易懂。


modern-cpp-template(Github)
这个模版包含的内容和ModernCppStarter差不多,也是使用了现代风格的CMake,支持clang-format、静态分析、文档生成、单元测试、测试覆盖、包管理和CI。这个模版用起来更加顺手。


不同需求的 CMake 模版都有:


cmake_template(Github)
另一个比较完善的 CMake 模版


Bazel
这是bazel的tutorial,里面有一个简单的cpp项目。
bazel-cpp20(Github)
一个简单的使用Bazel的支持VSCode、单元测试、Fuzz测试的模版。
自动创建开发环境
setup-cpp(Github)
自动创建可配置的C++开发环境,包括编译器、代码分析、Build System等等:

比如,我们可以用它来配置Docker文件:

Modern C++ Starter Kits Share的更多相关文章
- C#.NET开源项目、机器学习、商务智能
所以原谅我,不能把所有的都发上来,太杂了,反而不好. 1..NET时间周期处理组件 这个组件很小,主要是对时间日期,特别是处理时间间隔以及时间范围非常方便.虽然.NET自带了时间日期的部分功能,但可能 ...
- NetCore开源项目集合
具体见:https://github.com/thangchung/awesome-dotnet-core 半年前看到的,今天又看到了,记录下. 框架类: ZKWeb ABP General ASP. ...
- iPhone Tutorials
http://www.raywenderlich.com/tutorials This site contains a ton of fun written tutorials – so many t ...
- React——相关工具概述
Create a New React App Use an integrated toolchain for the best user and developer experience. This ...
- iOS编码规范
The official raywenderlich.com Objective-C style guide. This style guide outlines the coding con ...
- SubSonic指南中文版
翻译:王鹏程张原 王伟策划:毛凌志2009年1月北京工业大学软件学院PS:有问题反馈至http://lexus.cnblogs.comGetting Started with SubSonicBy S ...
- 官方的objective - c风格指南。
The official raywenderlich.com Objective-C style guide. This style guide outlines the coding convent ...
- WordPress 主题开发 - (一) 前言 待翻译
原文出自: http://themeshaper.com/2012/10/22/the-themeshaper-wordpress-theme-tutorial-2nd-edition/ THE TH ...
- Intel® RealSense™ SDK Architecture
In this article, we highlight some of the key changes that you can expect to see in the Intel RealSe ...
- ashx文件的使用
转自:http://www.cnblogs.com/Tally/archive/2013/02/19/2916499.html ashx是什么文件 .ashx 文件用于写web handler的..a ...
随机推荐
- Android 线性布局和相对布局
LinearLayout 线性布局 orientation 排列方式:vertical 竖直 horizontal 水平(默认值) layout_weight 权重:将子视图以对应的权重分配其空间大小 ...
- DI入门案例
1.基于IoC管理bean 2.Service中使用new形式创建的Dao对象是否保留?(不保留) 3.Service中需要的Dao对象如何进入到Service中?(提供方法) 4.Service与D ...
- Mybatis出现Caused by: net.sf.jsqlparser.parser.ParseException: ....异常
今天在开发项目中遇到了一个奇怪的异常,记录一下把! 异常信息如下(截取了主要的部分) Caused by: net.sf.jsqlparser.parser.ParseException: Encou ...
- 华企盾DSC导致Solidworks无法导出xls文件
将Solidworks进程和Excel进程的OLE控制和启用虚拟重定向都关闭
- Liunx--centos7服务器上 安装 jenkins,实现持续集成发布
1.下载并安装jenkins wget -v https://pkg.jenkins.io/redhat-stable/jenkins-2.176.3-1.1.noarch.rpmrpm -ivh j ...
- Java线程池ThreadPoolExecutor源码解析
Java线程池ThreadPoolExecutor源码解析 1.ThreadPoolExecutor的构造实现 以jdk8为准,常说线程池有七大参数,通常而言,有四个参数是比较重要的 public T ...
- Vue学习笔记-指令
- ElasticSearch之Nodes info API
查看当前集群中各节点的信息,执行如下命令: curl -X GET "https://localhost:9200/_nodes?pretty" --cacert $ES_HOME ...
- Odoo16—级联删除
我们在odoo中构建业务系统模块的时候,通常会使用one2many.many2one或many2many将模型进行关联,由此产生的数据也会通过外键发生关联.那么在odoo中删除数据的时候,如何关联删除 ...
- CSS 基础 2 - Box Model 盒模型
CSS 基础 2 - Box Model 盒模型 Box Model 盒模型是网页布局的前提.网页布局的几种方式: Table(过时):在 CSS 出现之前,一般用表格布局(将表格边框线隐藏) Flo ...