reckfellENGINE

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:

Text
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:

PowerShell
cmake -S . -B build -G Ninja -DEXTENSION_SDK="$Sdk" -DCMAKE_BUILD_TYPE=Debug
cmake --build build

For 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.

Reckfell Engine documentationBack to top ↑
QUICK LINKSGetting startedEntity hierarchyC# & .NET 10Scenes and prefabs
Reckfell guides and full API K
reckfellENGINE
RECKFELL ACCOUNT

Sign in

Sign in to your Reckfell account.

One account for the entire Reckfell platform.