7a955bac7f
VDE-014 (High): Remove duplicate void write_stl/write_stl_ascii declarations VDE-015 (Medium): Fix Vector3F→Vector3f, Point3F→Point3f case sensitivity VDE-016 (High): Add forward declarations for face_bounds/face_normal/SSICurveData in ssi_boolean.cpp — fixes two-phase name lookup in GCC
1.4 KiB
1.4 KiB
id, status, severity, category, date, reporter, related
| id | status | severity | category | date | reporter | related |
|---|---|---|---|---|---|---|
| VDE-016 | fixed | high | bug | 2026-07-27 | ViewDesign | 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 模块。
建议修复
- 检查
face_normal、face_bounds定义位置,添加对应的using声明 - 匿名命名空间中的
SSICurveData需要在文件内显式using vde::brep::SSICurveData;(或移出匿名空间) - 添加
#include <iterator>解决begin/end