From c0b9eb1d5a99d81d6ded1b23381c8ec40e9726de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=82=E4=B9=8B=E9=92=B3?= Date: Tue, 28 Jul 2026 23:37:00 +0800 Subject: [PATCH] =?UTF-8?q?fix(feedback):=20resolve=20VDE-031=20=E2=80=94?= =?UTF-8?q?=20add=20vde=5Fcapi=20to=20vde=20INTERFACE=20umbrella?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - vde_capi was missing from the vde INTERFACE library deps - Caused Ninja link failure: undefined ref to vde_last_error / vde_destroy - basic_usage example could not link when building with Ninja generator - Verified: Ninja (130/130) and Makefile builds both pass on Linux GCC 10.2 Closes VDE-031 --- docs/feedback/VDE-031.md | 43 ++++++++++++++++++++++++++++++++++++++++ src/CMakeLists.txt | 1 + 2 files changed, 44 insertions(+) create mode 100644 docs/feedback/VDE-031.md diff --git a/docs/feedback/VDE-031.md b/docs/feedback/VDE-031.md new file mode 100644 index 0000000..3acb092 --- /dev/null +++ b/docs/feedback/VDE-031.md @@ -0,0 +1,43 @@ +# 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. diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 41ddec9..847600c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -176,6 +176,7 @@ target_link_libraries(vde INTERFACE vde_sdf INTERFACE vde_brep INTERFACE vde_sketch + INTERFACE vde_capi ) add_library(vde::engine ALIAS vde)