32 lines
891 B
Markdown
32 lines
891 B
Markdown
---
|
|
id: VDE-005
|
|
status: open
|
|
severity: medium
|
|
category: compat
|
|
date: 2026-07-27
|
|
reporter: ViewDesign
|
|
---
|
|
|
|
# VDE-005: GCC 两阶段名称查找失败 (AABB3D/Point3D 等)
|
|
|
|
## 问题描述
|
|
|
|
ViewDesignEngine 的大多数 .cpp 文件在 #include 后直接使用 AABB3D、Point3D、Vector3D 等类型别名,但没有显式 using 声明。MSVC 默认不执行两阶段名称查找,因此这些代码在 MSVC 下可以编译。GCC/Clang 严格遵循标准。
|
|
|
|
## 影响文件
|
|
|
|
- 所有 brep 和部分 core/mesh .cpp 文件
|
|
|
|
## ViewDesign 侧 Workaround
|
|
|
|
通过 cmake/vde_gcc_compat.h 注入全局 using 声明。
|
|
|
|
## 建议修复方向
|
|
|
|
1. 在每个 .cpp 文件顶部添加必要的 using vde::core::Xxx 声明
|
|
2. 在头文件中使用完全限定名 vde::core::AABB3D
|
|
3. 增加 GCC 编译 CI 检查
|
|
|
|
---
|
|
*此文件由 ViewDesign 工程自动生成。处理完成后请更新 status 字段。*
|