一个现代化的 Qt6 应用程序模板,提供完整的 CMake 构建系统和开发工具链支持。
-
🚀 现代化 CMake 构建系统
- 预设配置支持 (Windows MSVC/MinGW, macOS, Linux)
- vcpkg 包管理集成
- 多配置生成器支持
- 预编译头文件优化
-
📦 完整的依赖管理
- Qt6 组件自动配置
- vcpkg 依赖自动处理
- 平台特定库管理
-
🛠 开发工具集成
- ccache 编译加速
- IDE 工具链配置
- 代码分析工具支持
-
📱 跨平台打包系统
- Windows: NSIS 安装包
- macOS: DMG 打包
- Linux: DEB/RPM 支持
- CMake 3.16+
- Qt 6.0+
- vcpkg
- 支持的编译器:
- Windows: MSVC 2019+ 或 MinGW-w64
- macOS: AppleClang 12.0+
- Linux: GCC 9.0+ 或 Clang 10.0+
git clone --recursive https://github.com/yang1206/qt-template.git
cd qt-template
支持以下构建类型:
- Debug:调试版本
- Release:发布版本
- RelWithDebInfo:带调试信息的发布版本
- MinSizeRel:最小体积版本
- Coverage:代码覆盖率测试版本
- ASan:内存错误检测版本
- TSan:线程错误检测版本
- UBSan:未定义行为检测版本
- CMake 3.16+
- Qt 6.0+
- C++17 兼容的编译器
- GCC 9.0+
- Clang 10.0+
- MSVC 19.20+
- AppleClang 12.0+
cmake --preset windows-release
cmake --build --preset windows-release
cmake --preset macos-release
cmake --build --preset macos-release
cmake --preset linux-release
cmake --build --preset linux-release
- Qt 6.0+ 组件:
- Qt::Core
- Qt::Widgets
- Qt::Gui
- Qt::PrintSupport
- FFTW3 (通过 vcpkg 安装)
- ccache (用于加速编译)
- ElaWidget (UI 组件库)
- QCustomPlot (图表支持)
项目包含完整的版本信息追踪:
- 项目版本号
- Git 提交信息
- 构建时间戳
- 编译器信息
- 构建类型
cmake --build --preset windows-release --target package
cmake --build --preset macos-release --target package
cmake --build --preset linux-release --target package
- Address Sanitizer:
cmake --preset asan
- Thread Sanitizer:
cmake --preset tsan
- UB Sanitizer:
cmake --preset ubsan
- LTO 支持(Release 模式)
- 预编译头文件支持
- ccache 编译缓存
详细的开发指南请参考 开发指南文档。
本项目采用 MIT 许可证。详情请见 LICENSE 文件。