首页 > 编程语言 >Modern C++ Starter Kits Share

Modern C++ Starter Kits Share

时间:2023-11-27 16:13:06浏览次数:47  
标签:CI Github CMake 模版 Modern Share C++ 单元测试 Starter

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

Seg-dynamic

Build System模版

CMake

ModernCppStarter(Github, Gitee)

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

Seg-Static

modern-cpp-template(Github)

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

Seg-Static

cmake-examples(GithubGitee)

不同需求的 CMake 模版都有:

Seg-Static

cmake_template(Github)

另一个比较完善的 CMake 模版

Seg-dynamic

Bazel

bazel/examples

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

bazel-cpp20(Github)

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

自动创建开发环境

setup-cpp(Github)

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

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

标签:CI,Github,CMake,模版,Modern,Share,C++,单元测试,Starter
From: https://www.cnblogs.com/RioTian/p/17859593.html

相关文章

  • 自定义springboot-starter 动态数据源
    自定义springboot-starter动态数据源如果使用的是spring或springboot框架,spring提供了一个实现动态数据源的一个抽象类AbstractRoutingDataSource当我们实现这个类后需要实现一个方法@OverrideprotectedObjectdetermineCurrentLookupKey(){}spring获取连接代码最终会......
  • (15-418)Lecture 2 A Modern Multi-Core Processor
    并行执行的方式本节内容围绕一个程序,针对如何改变处理器的结构来加速程序提出了多个idea示例程序:该程序通过泰勒展开式来估算sin(x)的值一个最简单的处理器,每个时钟周期只能执行一条指令,而利用ILP(指令级平行)的超标量处理器可同时执行两条指令(当指令间不存在依赖时),但示例程序......
  • Ossclient无法自动装配和包aliyun-oss-spring-boot-starter导入错误
    无法导包 aliyun-oss-spring-boot-starter 解决办法:把 aliyun-oss-spring-boot-starter换成即可<dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>2.8.3......
  • Python通过tushare获取股票历史数据
    一、使用Tushare获取可参照官网:https://tushare.pro/步骤1:安装Tushare库在Python环境中使用pip命令安装Tushare库:pipinstalltushare步骤2:导入Tushare库在Python代码中导入Tushare库:importtushareasts步骤3:设置TushareToken在使用Tusha......
  • Springboot自定义starter
    Springboot自定义sarter这里通过自定义mybatis的starter来简单进行分析理解步骤:创建dmybatis-spring-boot-autoconfigure模块,提供自动配置功能,并定义配置文件META-INF/spring/xxx.imports创建dmybatis-spring-boot-starter模块,在starter中引入自动配置模块创建项目:1......
  • spring-boot-starter-thymeleaf 避坑指南
    spring-boot-starter-thymeleaf避坑指南第一步:pom配置环境先不要管包是做什么的总之必须要有否则进坑1234567891011<!--避坑包-->      <dependency>          <groupId>net.sourceforge.nekohtml</groupId>          <a......
  • Mysql报:error while loading shared libraries libtinfo.so.5的解决办法
    版权声明:原创作品,谢绝转载!否则将追究法律责任。—————作者:kirin#、今天闲来无事,想在Anolis8的系统上装一个MySQL8.0玩。前期在安装和配置的过程中没有什么问题,但是在我想查看一下数据库版本的时候报了一个错。具体报错信息如下:mysql:errorwhileloadingsharedlibrarie......
  • 02_自定义Springboot starter
     创建springbootstarter 创建一个demostarter  创建配置类@Configuration@EnableConfigurationProperties(EmailProperties.class)@ConditionalOnBean(EmailEnable.class)publicclassEmailAutoConfiguration{static{System.out.println("Em......
  • 安装warp-transducer时cmake.. 出现 Building shared library with no GPU
    warp-transducerAfastparallelimplementationofRNNTransducer(Graves2013jointnetwork),onbothCPUandGPU.GPUimplementationisnowavailableforGraves2012addnetwork.GPUPerformanceBenchmarkedonaGeForceGTX1080TiGPU.T=150,L=40,A=2......
  • Nacos共享配置(shared-configs)和扩展配(extension-config)
    原文地址:https://www.jianshu.com/p/8715072d3f4c一、共享配置(shared-configs)和扩展配(extension-config)日常开发中,多个模块可能会有很多共用的配置,比如数据库连接信息,Redis连接信息,RabbitMQ连接信息,监控配置等等。那么此时,我们就希望可以加载多个配置,多个项目共享同一个......