# cpp-project-template **Repository Path**: gycherish/cpp-project-template ## Basic Information - **Project Name**: cpp-project-template - **Description**: C++项目目录结构模板 - **Primary Language**: C++ - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 4 - **Created**: 2020-05-11 - **Last Updated**: 2026-01-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # C++ 项目目录组织结构 ## 目录结构 ``` ├── benchmark 基准测试代码目录 ├── doc 文档目录 ├── examples 示例代码目录 ├── include 头文件目录 │ ├── 项目组件目录 │ └── *.h/hpp 项目公告头文件 ├── resources 资源目录 ├── src 源码目录 │ ├── 项目组件目录 │ ├── config.h.in 项目配置模板文件 │ └── xmake.lua 项目配置文件 ├── tests 测试代码目录 ├── tools 辅助工具目录 ├── xmake xmake 目录 ├── .clang-format 使用 clang-format 对代码格式化的配置文件 ├── .clang-tidy 使用 clang-tidy 对代码静态检查的配置文件 ├── .gitignore git 忽略项配置文件 ├── .gitmessage git 提交模板文件 ├── CHANGELOG.md 更新日志文件 ├── LICENSE license 文件 ├── README.md 项目说明文件 └── xmake.lua xmake 构建系统全局配置文件 ``` ## 特别说明 - `include` 目录只存放项目中公用的头文件,各组件内部用到的头文件应放在各组件对应的目录下 - 项目制品,如发布的二进制、库文件等所依赖的所有源代码都应该放到 `src` 目录下,`benchmark`、`examples` 和 `tests` 并不影响最终的制品,因此这些目录和 `src` 平级即可 - `tools` 目录一般存放一些脚本文件,如果是项目本身实现的工具,应作为组件放到 `src` 目录下,例如把所有工具放到 `src/tools` 目录下