Skip to content

Mrliu88888888/Top

Repository files navigation

Top

我的奇思妙想

起源

关于我为什么启动这个项目,因某晚觉得c++新建一个项目真的好麻烦,也没有好用的脚手架,linux和windows项目差别也是巨大,还得去找各种第三方工具库等等麻烦事儿 所以我准备在这个项目里使用cmake作为跨平台,收录我自己认为比较好的代码风格,编译模板,第三方库,以及自己常用的工具类

项目结构

Top
├── cmake                # CMake相关的配置文件和脚本
├── doc                  # 项目文档 模板文件 整理资料
├── example              # 示例代码
├── include              # 公共头文件
├── script               # 脚本文件
├── src                  # 源代码
├── test                 # 测试代码
├── ThirdParty           # 存放第三方库 工具 设置等
├── .clang-format        # 格式化配置文件
├── .clang-tidy          # 静态分析配置文件
├── .editorconfig        # 编辑器配置文件
├── CMakeLists.txt       # CMake项目
├── CMakePresets.json    # CMake预设配置文件
├── LICENSE              # 许可证文件
├── README.md            # 说明文档
└── vcpkg.json           # 管理第三方依赖配置文件

项目分支

main

主线分支

simple

轻量简单的,可以此作为CMake项目开发模板

开发环境

Linux代理

export proxy="http://192.168.80.1:7897"
export http_proxy=$proxy
export https_proxy=$proxy
export HTTP_PROXY=$proxy
export HTTPS_PROXY=$proxy

Ubuntu

sudo apt install build-essential cmake ninja-build pkg-config

Qt

# 为无图形界面的 Debian 系统安装 Qt 所需的依赖库
sudo apt install -y \
libfontconfig1 fontconfig libfontconfig1-dev \
libx11-xcb1 libasound2 x11-apps libice6 libsm6 libxaw7 libxft2 libxmu6 libxpm4 libxt6 x11-apps xbitmaps \
mesa-common-dev libglu1-mesa-dev libgl-dev \
libpulse-dev libxkbcommon-x11-0 libegl1 libgstreamer-plugins-base1.0-0

使用

下载

git clone --recursive https://github.com/Mrliu88888888/Top.git -b main
# or
git clone https://github.com/Mrliu88888888/Top.git -b main
cd Top
git submodule update --init --recursive

编译

mkdir build
cd build
cmake ..
cmake --build .

测试

ctest

打包

cpack

自动化脚本

Windows编译脚本: build.bat
Linux编译脚本: build.sh

致谢