44 lines
1.2 KiB
Markdown
44 lines
1.2 KiB
Markdown
|
|
# VDE-031: VDE update build failure (auto-detected)
|
||
|
|
|
||
|
|
- **ID**: VDE-031
|
||
|
|
- **Date**: 2026-07-28
|
||
|
|
- **Status**: Fixed
|
||
|
|
- **Severity**: Critical
|
||
|
|
- **Category**: BUILD
|
||
|
|
- **Source**: vde_auto_sync.ps1
|
||
|
|
|
||
|
|
## Trigger
|
||
|
|
- **From**: `ee21ec42136c65e8a0faedb0a39fcd6cb8f8de63`
|
||
|
|
- **To**: `24b6796`
|
||
|
|
- **New commits**:
|
||
|
|
- 24b6796 fix(build): resolve link errors and missing implementations
|
||
|
|
|
||
|
|
## Build Errors
|
||
|
|
```
|
||
|
|
cmake.exe : ninja: error: loading 'build.ninja': The system cannot find the file specified.
|
||
|
|
+ CategoryInfo : NotSpecified: (ninja: error: l...file specified.:String) [], RemoteException
|
||
|
|
```
|
||
|
|
|
||
|
|
Full log: ViewDesign `build/vde_build_errors.txt`
|
||
|
|
|
||
|
|
## Root Cause
|
||
|
|
The `vde_capi` library was not included in the `vde` INTERFACE umbrella library's
|
||
|
|
dependencies. When using Ninja generator (common on Windows), this caused
|
||
|
|
`examples/capi/basic_usage` to fail linking with:
|
||
|
|
- `undefined reference to vde_last_error`
|
||
|
|
- `undefined reference to vde_destroy`
|
||
|
|
|
||
|
|
On Makefiles the capi example was not built as part of `all`, masking the issue.
|
||
|
|
|
||
|
|
## Fix
|
||
|
|
Added `vde_capi` to the `vde` INTERFACE library:
|
||
|
|
```cmake
|
||
|
|
target_link_libraries(vde
|
||
|
|
...
|
||
|
|
INTERFACE vde_sketch
|
||
|
|
+ INTERFACE vde_capi
|
||
|
|
)
|
||
|
|
```
|
||
|
|
|
||
|
|
**Verified**: Both Ninja (130/130) and Makefile builds pass on Linux GCC 10.2.
|