# CppHodgepodge **Repository Path**: yangjam_tm/cpp-sdk-test ## Basic Information - **Project Name**: CppHodgepodge - **Description**: c/c++学习仓库,包括第三方开源库和linux等开发环境编程示例 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2024-09-11 - **Last Updated**: 2025-11-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 目录规划 - inc: 头文件存放目录,包含内部编写头文件和第三方库的头文件 - sdl: 仓库内部编写的一些数据结构头文件 - lib: 需要手动链接的第三方库的存放目录 - sdk: 第三方库的测试用例目录 - tests: 本仓库内部文件的测试文件存放目录 - linux: linux环境开发测试目录,使用c语言编写 - res: 资源文件存放目录(不上传) - idiom: 测试c++语法和常用技巧 ## 环境配置 ### pkgconfig - 安装fmt: `sudo apt install libfmt-dev` - 安装sdl2: `sudo apt install libsdl2-dev libsdl2-*-dev` - 安装gtest: 1. 下载源码 `git clone https://github.com/google/googletest.git --depth 1` 2. 编译 `cd googletest && cmake -Bbuild && cd build && make` 3. 安装到系统环境: `sudo make install` ## 项目构建 ### cmake 1. 在项目根目录下执行`cmake --preset=debug` 生成构建目录,并将`target`设置为`debug`模式(`default`为`release`模式) - Linux环境下,默认使用`Ninja`(如果要修改为`Ninja`,在[CMakePresets](CMakePresets.json)中修改`generator`项即可) - Linux环境下,默认使用clang作为编译器(如果要修改为`gcc`,在[CMakePresets](CMakePresets.json)中修改`CMAKE_XXX_COMPILER`项即可) - 如果修改了[CMakePresets](CMakePresets.json)文件,需要重新执行上述命令 2. 进入*build*目录下执行`ninja`编译所有`target`,`ninja `只编译特定的目标 - `ninja tests` 编译tests目录下的单元测试用例,然后执行`ctest`运行所有测试用例 - 如果使用`Unix Makefiles`或`MinGW Makefiles`则将`ninja`替换为`make` ### xmake - `xmake f -m debug --policies=run.autobuild` 启用debug模式和运行前自动构建 - `xmake b [target]` 编译指定`target` - `xmake r [target]` 运行指定`target` ## 代码规范 - 参考[Google开源项目风格指南](https://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/contents.html) - [简化版命名规范](docs/命名规范.md) - 使用`cpplint`进行代码规范检查,过滤项目(以vscode配置为例)如下 ```json "cpplint.filters": [ "-legal/copyright", "-whitespace/indent", "-whitespace/braces", "-runtime/references", "-build/include_subdir", "-build/namespaces", "-build/c++11" ], ``` ## [Bug记录](docs/Bug.md)