Files
ViewDesignEngine/docs/feedback/VDE-014.md
T
茂之钳 7a955bac7f
CI / Build & Test (push) Failing after 41s
CI / Release Build (push) Failing after 35s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
fix(v1.0.1): VDE-014/015/016 — STL API cleanup + ssi_boolean fixes
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
2026-07-27 23:20:46 +08:00

45 lines
1.2 KiB
Markdown

---
id: VDE-014
status: fixed
severity: high
category: bug
date: 2026-07-27
reporter: ViewDesign
related: VDE-011
---
# VDE-014: write_stl / write_stl_ascii 新旧声明并存
## 问题描述
`io_stl.h``write_stl``write_stl_ascii` 同时存在 `void``bool` 版本,导致编译二义性:
```cpp
// io_stl.h:94 — 旧声明(应删除)
void write_stl(const std::string& filepath, const std::vector<StlTriangle>& tris);
// io_stl.h:95 — 新声明(正确)
bool write_stl(const std::string& filepath, const std::vector<StlTriangle>& tris);
// io_stl.h:118 — 旧声明(应删除)
void write_stl_ascii(const std::string& filepath, const std::vector<StlTriangle>& tris);
// io_stl.h:119 — 新声明(正确)
bool write_stl_ascii(const std::string& filepath, const std::vector<StlTriangle>& tris);
```
## 编译错误
```
error: 'void value not ignored as it ought to be'
error: ambiguating new declaration of 'bool vde::foundation::write_stl(...)'
```
## 当前 Workaround
ViewDesign 创建了 `cmake/vde_fixes/vde/foundation/io_stl.h` 副本并覆盖 include 路径。
## 建议修复
删除旧的 `void` 版本声明(第 94、118 行),仅保留 `bool` 版本。