C++
Use the native C++ public API with the compiler settings required by the selected SDK package. Release uses /MD and Debug uses /MDd. Package CMake helpers import the library and copy runtime dependencies. STL types cross the DLL boundary, so consumers must follow compiler and CRT requirements.
C and the C++ wrapper
The Windows x64 Full Profile C ABI freezes 195 exports. It avoids passing C++ STL types across the ABI, but still requires correct runtime deployment and handle ownership. The source C++ wrapper sits on the C ABI and differs from direct native C++ API use.
Go
Go SDK 3.1.0 GA covers Windows x64 Full Profile. Load the runtime before Init. Keep UI calls on the initialization thread and use PostTask to return from worker goroutines. Close native resources explicitly.
Rust
Rust SDK 3.1.0 uses the MSVC toolchain. kui-sys contains the 195 frozen ABI declarations, while kui provides RAII and common safe methods. Low-level calls remain available through kui::sys. UI types cannot be sent across threads, and panics must not cross a C FFI boundary.
Choose the integration layer
Use the symptom to narrow the cause before editing.
| Symptom | Check and action |
|---|---|
| Existing C++ application | Choose the native C++ SDK and match compiler, configuration and CRT. |
| C boundary or source wrapper | Choose the C SDK. The wrapper links KuiC::Cpp; the native SDK links Kui::Kui. |
| Existing Go / Rust code | Use that binding package with its matching native runtime. |
Keep version information with the project
Record core and binding versions, architecture, package checksum and build configuration. Upgrade headers, libraries and runtime from one delivery, rebuild, then check forms, fonts, extensions and debugging. Avoid replacing a single DLL.
Something unclear?
Report an issue on this page →