Top

Xplatcppwindowsdll - Updated

Resolved memory leaks occurring during cross-thread DLL detachment.

Updating dependencies inside a cross-platform library is now heavily driven by C++ package managers:

If you’re maintaining a C++ library that targets Windows alongside Linux or macOS, now is the time to integrate xplatcppwindowsdll v3.0.0 . Your future self—and your users—will thank you for the faster loads, smaller binaries, and saner build scripts. xplatcppwindowsdll updated

If you are seeing a notification that has been updated or is causing an error, consider these steps:

+-------------------------------------------------------+ | Downstream Client Application | +-------------------------------------------------------+ | v (Loads via DLL Imports) +-------------------------------------------------------+ | Windows DLL Export Layer | | (__declspec(dllexport), C-API wrappers, DEF) | +-------------------------------------------------------+ | v (Binds to Core Logic) +-------------------------------------------------------+ | Cross-Platform C++ Core | | (Standard C++, STL, Platform-agnostic) | +-------------------------------------------------------+ The Cross-Platform Core If you are seeing a notification that has

cmake_minimum_required(VERSION 3.20) project(XPlatCppWindowsDll VERSION 2.0.0 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) # Ensure hidden visibility by default on Linux/macOS for parity with Windows set(CMAKE_CXX_VISIBILITY_PRESET hidden) set(CMAKE_VISIBILITY_INLINES_HIDDEN ON) add_library(XPlatCppDll SHARED src/XPlatLibrary.cpp src/CoreEngine.cpp ) # Macro triggering dllexport on Windows compilation target_compile_definitions(XPlatCppDll PRIVATE XPLAT_EXPORT_DLL) target_include_directories(XPlatCppDll PUBLIC $ $ ) Use code with caution. Consuming the Updated DLL in C# (.NET Core)

: Test the updated library using multiple compilers to confirm that the "xplat" (cross-platform) claims hold true for your specific hardware architecture. and saner build scripts.

Clean your build directory and re-configure: