Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Bit HCI 构建脚本

本目录包含用于构建、清理和管理 Bit HCI 项目的自动化脚本。

重要更新(2025-10-12):项目已迁移到统一构建系统。 详见:统一构建系统指南


📋 脚本列表

1. rebuild.bat - 完整重建(推荐)⭐

功能: 一键完成清理、配置、构建全流程

用法:

scripts\rebuild.bat

执行流程:

  1. 清理所有构建产物
  2. 配置整个项目的 CMake
  3. 编译 native 运行时
  4. 编译所有组件(15个)
  5. 自动编译着色器

适用场景:

  • 首次构建项目
  • 清理构建后重新开始
  • 解决构建环境问题
  • CI/CD 自动构建

2. configure.bat - 配置构建环境

功能: 为整个项目运行 CMake 配置

用法:

scripts\configure.bat

执行内容:

  • 创建统一的 build/ 目录
  • 运行 cmake 生成 Visual Studio 解决方案
  • 自动发现所有组件(15个)
  • 配置 native 运行时
  • 配置着色器编译

适用场景:

  • CMakeLists.txt 修改后
  • 首次构建前
  • 添加新组件后

3. build.bat - 批量构建

功能: 编译整个项目(native + 所有组件)

用法:

scripts\build.bat

执行内容:

  • 构建 native 运行时
  • 编译 15 个组件
  • 生成 .dll 文件
  • 自动编译着色器为 .spv
  • 所有产物输出到 build/bin/
  • 显示构建统计信息

适用场景:

  • 代码修改后快速重新编译
  • 批量更新所有组件
  • 日常开发构建

输出示例:

========================================
Building Bit HCI Project
========================================
Building all targets...

bitui_native.vcxproj -> D:\_Bit_OS\Bit HCI\build\bin\bitui_native.exe
triangle.vcxproj -> D:\_Bit_OS\Bit HCI\build\bin\triangle.dll
button.vcxproj -> D:\_Bit_OS\Bit HCI\build\bin\button.dll
...

========================================
Build Complete!
========================================

4. clean.bat - 清理构建产物

功能: 删除所有 build 目录和编译文件

用法:

# 交互式确认
scripts\clean.bat

# 跳过确认(用于自动化)
scripts\clean.bat /Y

清理内容:

  • build/ - 统一构建目录
  • 旧的分散 build 目录(兼容性清理)
    • examples/cpp/*/build/
    • native/build/
    • compiler/build/

适用场景:

  • 构建环境出现问题
  • 释放磁盘空间
  • 重新开始干净构建

5. push.bat - Git 提交和推送

功能: 自动化 Git 提交流程

用法:

scripts\push.bat

详见 PUSH_SCRIPT_GUIDE.md


🚀 快速开始

首次构建项目

# 一键完成所有操作(推荐)
scripts\rebuild.bat

# 测试运行(选择任意组件)
cd build\bin
.\bitui_native.exe .\button.dll

日常开发工作流

修改单个组件后:

# 快速重新编译(只编译修改的文件)
scripts\build.bat

# 测试
cd build\bin
.\bitui_native.exe .\button.dll

修改多个组件后:

# 批量重新编译所有组件
scripts\build.bat

修改 CMakeLists.txt 后:

# 重新配置 + 构建
scripts\configure.bat
scripts\build.bat

# 或一键重建
scripts\rebuild.bat

📂 构建产物位置

统一输出目录(新架构)⭐

所有构建产物位于:

build/
└── bin/
    ├── bitui_native.exe        # Native 运行时
    ├── triangle.dll            # 组件 1
    ├── button.dll              # 组件 2
    ├── checkbox.dll            # 组件 3
    └── ... (共 15 个组件)

优势:

  • ✅ 集中管理,易于查找
  • ✅ 无需手动复制文件
  • ✅ 清晰的目录结构
  • ✅ 一个命令运行组件

运行方式:

cd build\bin
.\bitui_native.exe .\[组件名].dll

注意: 旧的分散构建目录(examples/cpp/*/build/)已废弃。 详见:迁移指南


🔧 故障排除

问题:构建失败

解决方案:

  1. 检查错误信息
  2. 运行清理脚本:scripts\clean.bat
  3. 重新配置:scripts\configure.bat
  4. 重新构建:scripts\build.bat

问题:CMake 找不到

解决方案: 确保已安装 CMake 并添加到 PATH:

cmake --version

如果未安装,下载:https://cmake.org/download/

问题:Visual Studio 版本不匹配

解决方案: 修改 configure.bat 中的生成器:

# 当前使用(第 17 行)
cmake .. -G "Visual Studio 17 2022" -A x64

# 改为你的版本,例如:
cmake .. -G "Visual Studio 16 2019" -A x64

问题:Vulkan SDK 未找到

症状:

CMake Error: Could not find Vulkan

解决方案:

  1. 安装 Vulkan SDK: https://vulkan.lunarg.com/
  2. 确保 VULKAN_SDK 环境变量已设置
  3. 重启终端

验证:

echo %VULKAN_SDK%

📊 构建统计

组件总数: 15 平均构建时间: ~2 秒/组件 总构建时间: ~30 秒(首次编译,并行构建) 增量构建: ~5 秒(修改单个组件)

组件列表:

  1. Triangle - 三角形渲染
  2. Rectangle - 矩形渲染
  3. Text - 文本渲染
  4. Circle - 圆形渲染
  5. Line - 线段渲染
  6. ProgressBar - 进度条
  7. Switch - 开关
  8. Button - 按钮
  9. Checkbox - 复选框
  10. Radio - 单选按钮
  11. Slider - 滑块
  12. Input - 输入框
  13. Label - 标签
  14. Tooltip - 工具提示
  15. Dropdown - 下拉菜单

🎯 最佳实践

1. 使用统一构建系统

# ✅ 推荐:使用新脚本
scripts\rebuild.bat
scripts\build.bat

# ❌ 避免:手动进入各组件构建
cd examples/cpp/triangle/build  # 旧方式

2. 定期清理

定期运行清理脚本释放空间:

scripts\clean.bat

3. 使用 .gitignore

确保 .gitignore 正确配置,不要提交构建产物:

/build/           # 统一构建目录
**/build/         # 旧的分散目录(兼容)
*.dll
*.exe
*.lib
*.exp
*.obj

4. 并行构建

新构建系统自动支持并行编译,无需额外配置:

# 自动并行构建
scripts\build.bat

# 或使用 CMake 直接控制
cmake --build build --config Release --parallel 8

🆕 新旧对比

旧系统(已废弃)

# 配置所有组件(需要多次)
cd examples/cpp/triangle/build && cmake ..
cd examples/cpp/button/build && cmake ..
# ... 重复 15 次

# 构建所有组件(需要多次)
cmake --build examples/cpp/triangle/build
cmake --build examples/cpp/button/build
# ... 重复 15 次

# 手动复制 DLL
copy examples\cpp\triangle\build\Release\*.dll native\build\Release\

问题:

  • ❌ 需要 15+ 次手动操作
  • ❌ 容易遗漏
  • ❌ 路径管理复杂
  • ❌ 构建时间长(串行)

新系统(当前)

# 一键完成所有操作
scripts\rebuild.bat

#
scripts\configure.bat  # 配置一次
scripts\build.bat      # 构建所有

优势:

  • ✅ 一键操作
  • ✅ 自动发现组件
  • ✅ 并行构建
  • ✅ 统一输出
  • ✅ 4-8 倍速度提升

📝 相关文档


🆘 获取帮助

如有问题,请参考:

  1. 统一构建系统指南
  2. 故障排除
  3. 文档中心
  4. GitHub Issues

最后更新: 2025-10-12
维护者: Bit HCI Team
系统版本: 2.0 (统一构建系统)