初入 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-examples(GithubGitee)

不同需求的 CMake 模版都有:

cmake_template(Github)

另一个比较完善的 CMake 模版

Bazel

bazel/examples

这是bazel的tutorial,里面有一个简单的cpp项目。

bazel-cpp20(Github)

一个简单的使用Bazel的支持VSCode、单元测试、Fuzz测试的模版。

自动创建开发环境

setup-cpp(Github)

自动创建可配置的C++开发环境,包括编译器、代码分析、Build System等等:

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

Modern C++ Starter Kits Share的更多相关文章

  1. C#.NET开源项目、机器学习、商务智能

    所以原谅我,不能把所有的都发上来,太杂了,反而不好. 1..NET时间周期处理组件 这个组件很小,主要是对时间日期,特别是处理时间间隔以及时间范围非常方便.虽然.NET自带了时间日期的部分功能,但可能 ...

  2. NetCore开源项目集合

    具体见:https://github.com/thangchung/awesome-dotnet-core 半年前看到的,今天又看到了,记录下. 框架类: ZKWeb ABP General ASP. ...

  3. iPhone Tutorials

    http://www.raywenderlich.com/tutorials This site contains a ton of fun written tutorials – so many t ...

  4. React——相关工具概述

    Create a New React App Use an integrated toolchain for the best user and developer experience. This ...

  5. iOS编码规范

      The official raywenderlich.com Objective-C style guide.   This style guide outlines the coding con ...

  6. SubSonic指南中文版

    翻译:王鹏程张原 王伟策划:毛凌志2009年1月北京工业大学软件学院PS:有问题反馈至http://lexus.cnblogs.comGetting Started with SubSonicBy S ...

  7. 官方的objective - c风格指南。

    The official raywenderlich.com Objective-C style guide. This style guide outlines the coding convent ...

  8. WordPress 主题开发 - (一) 前言 待翻译

    原文出自: http://themeshaper.com/2012/10/22/the-themeshaper-wordpress-theme-tutorial-2nd-edition/ THE TH ...

  9. Intel® RealSense™ SDK Architecture

    In this article, we highlight some of the key changes that you can expect to see in the Intel RealSe ...

  10. ashx文件的使用

    转自:http://www.cnblogs.com/Tally/archive/2013/02/19/2916499.html ashx是什么文件 .ashx 文件用于写web handler的..a ...

随机推荐

  1. Unity学习笔记--数据持久化之PlayerPrefs的使用

    数据持久化 PlayerPrefs相关 PlayerPrefs是Unity游戏引擎中的一个类,用于在游戏中存储和访问玩家的偏好设置和数据.它可以用来保存玩家的游戏进度.设置选项.最高分数等信息.Pla ...

  2. LOG日志系统

    # coding=utf-8 import datetime import logging import os import sys from logging.handlers import Time ...

  3. 【VMware NSX-T】在vCenter内直接将Manager设备删除后,ESXi上还遗留N-VDS交换机及网卡被占用等问题的解决方法。

    由于之前在实验平台安装了NSX-T的测试环境,但是由于太忙了没怎么测试,后来实验环境出了点小问题,索性就将上面所有虚拟机给清空了.但是没想到上面遗留了NSX-T上创建的N-VDS交换机,还占用了服务器 ...

  4. Android学习day04【Button】

    出现的一些小状况: 小状况 报错,代码显示运行成功 但是无法在模拟机上显示 原因是没有在包含应有id 其二是关于设置背景颜色中 关于background与backgroundTint的区别 //这是b ...

  5. 使用Netty实现文件传输的HTTP服务器和客户端

    现在我们来用netty实现文件传输的HTTP服务器和客户端 pom依赖文件: <?xml version="1.0" encoding="UTF-8"?& ...

  6. 解决OpenCV3+VS2015(VS2017)运行时出现debug error abort()has been called的问题

    问题描述: 在windows平台上安装opencv后,测试一张图片时,出现了debug error abort()has been called的问题 环境: vs2015 windows 10 op ...

  7. 基于.NetCore开发博客项目 StarBlog - (30) 实现评论系统

    前言 时隔五个月,终于又来更新 StarBlog 系列了~ 这次是呼声很大的评论系统. 由于涉及的代码量比较大,所以本文不会贴出所有代码,只介绍关键逻辑,具体代码请同学们自行查看 GitHub 仓库. ...

  8. PTA数组及排序查找题解与解题思路

    PTA数组及排序查找题解与解题思路 函数题目 函数题目为平台提供的裁判程序调用所完成的函数进行判题,题目规定语言为C语言 6-1 求出二维数组的最大元素及其所在的坐标 本题较为简单,考察的是如何遍历一 ...

  9. ElasticSearch之cat plugins API

    命令样例如下: curl -X GET "https://localhost:9200/_cat/plugins?v=true&pretty" --cacert $ES_H ...

  10. Python——Html(HEAD头部)

    HTML中HEAD头部设置(了解) 在HTML中,<head> 元素是文档的头部部分,通常包含了一些关于文档的元信息和链接到外部资源的标签.以下是一些常见的 <head> 元素 ...