Build a DLL with CMake/Ninja
Complete CMakeLists for the installed C ABI.
Use native_probe.cpp and its descriptor from the complete example. CMake builds a separate C ABI DLL; it does not automatically download or generate missing C++ bindings.
Save CMakeLists.txt beside the source:
cmake_minimum_required(VERSION 3.20)
project(ReckfellNativeProbe LANGUAGES CXX)
if(NOT WIN32 OR NOT CMAKE_SIZEOF_VOID_P EQUAL 8)
message(FATAL_ERROR "This example targets Windows x64 only")
endif()
if(NOT EXISTS "${EXTENSION_SDK}/include/reckfellextension_interface.h")
message(FATAL_ERROR "Set EXTENSION_SDK to the installed Reckfell ExtensionSDK directory")
endif()
add_library(native_probe SHARED native_probe.cpp)
target_compile_features(native_probe PRIVATE cxx_std_17)
target_include_directories(native_probe PRIVATE "${EXTENSION_SDK}/include")
set_target_properties(native_probe PROPERTIES
PREFIX ""
OUTPUT_NAME "native_probe.windows.x86_64"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")In x64 Developer PowerShell with CMake, Ninja, and MSVC, set $Sdk to the installed ExtensionSDK absolute path:
cmake -S . -B build -G Ninja -DEXTENSION_SDK="$Sdk" -DCMAKE_BUILD_TYPE=Debug
cmake --build buildFor this single-configuration generator, output is build/bin/native_probe.windows.x86_64.dll. Place it beside the project descriptor and inspect class/constants after loading. A DLL existing does not prove compatibility.
The file explicitly targets Windows x64. Another generator or Release requires checking output location and dependencies; do not blindly copy a Debug path. After changing compiler, SDK, or architecture, use a fresh build directory rather than the old CMake cache.
Ninja/Debug, compilation, and DLL loading were checked. Engine builds and cross-compilation were not performed.