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
45 lines
1.2 KiB
Markdown
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` 版本。
|