44 lines
1.4 KiB
Markdown
44 lines
1.4 KiB
Markdown
|
|
---
|
||
|
|
id: VDE-016
|
||
|
|
status: open
|
||
|
|
severity: high
|
||
|
|
category: bug
|
||
|
|
date: 2026-07-27
|
||
|
|
reporter: ViewDesign
|
||
|
|
related: VDE-001, VDE-005, VDE-010
|
||
|
|
---
|
||
|
|
|
||
|
|
# VDE-016: ssi_boolean.cpp 两阶段名称查找修正不完整
|
||
|
|
|
||
|
|
## 问题描述
|
||
|
|
|
||
|
|
v1.0.1+ 在 brep 模块 .cpp 文件中添加了 `using namespace vde::core;`,但 `ssi_boolean.cpp` 仍有未解决的符号:
|
||
|
|
|
||
|
|
| 符号 | 所在命名空间 | 补了 using 但缺啥 |
|
||
|
|
|------|-------------|-------------------|
|
||
|
|
| `face_normal` | `vde::brep::` 或全局 | 缺少 `using` 声明或 `#include` |
|
||
|
|
| `face_bounds` | `vde::brep::` 或全局 | 同上 |
|
||
|
|
| `SSICurveData` | `vde::brep::{anonymous}::` | 匿名命名空间中的类型需要完全限定名 |
|
||
|
|
| `begin` / `end` | `std::` | 需要 `#include <iterator>` |
|
||
|
|
|
||
|
|
## 编译错误
|
||
|
|
|
||
|
|
```
|
||
|
|
error: 'face_normal' was not declared in this scope
|
||
|
|
error: 'face_bounds' was not declared in this scope
|
||
|
|
error: 'SSICurveData' was not declared in this scope
|
||
|
|
note: 'vde::brep::{anonymous}::SSICurveData'
|
||
|
|
error: 'begin' was not declared in this scope
|
||
|
|
error: 'end' was not declared in this scope
|
||
|
|
```
|
||
|
|
|
||
|
|
## 当前 Workaround
|
||
|
|
|
||
|
|
ViewDesign 仍然 `EXCLUDE_FROM_ALL` vde_brep 模块。
|
||
|
|
|
||
|
|
## 建议修复
|
||
|
|
|
||
|
|
1. 检查 `face_normal`、`face_bounds` 定义位置,添加对应的 `using` 声明
|
||
|
|
2. 匿名命名空间中的 `SSICurveData` 需要在文件内显式 `using vde::brep::SSICurveData;`(或移出匿名空间)
|
||
|
|
3. 添加 `#include <iterator>` 解决 `begin`/`end`
|