From a7a4798155c42c6b228df8df95dec468770e4676 Mon Sep 17 00:00:00 2001 From: Nicolas Pope <nwpope@utu.fi> Date: Mon, 2 Nov 2020 10:44:50 +0200 Subject: [PATCH] Change SDK to not return shared_ptr directly --- SDK/C++/private/system.cpp | 4 ++-- SDK/C++/public/CMakeLists.txt | 2 +- SDK/C++/public/voltu.cpp | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/SDK/C++/private/system.cpp b/SDK/C++/private/system.cpp index 27f598bb2..3f25035da 100644 --- a/SDK/C++/private/system.cpp +++ b/SDK/C++/private/system.cpp @@ -17,11 +17,11 @@ static bool g_isinit = false; #define EXTERN_DLL_EXPORT extern "C" #endif -EXTERN_DLL_EXPORT std::shared_ptr<voltu::System> voltu_initialise() +EXTERN_DLL_EXPORT voltu::System* voltu_initialise() { if (!g_isinit) { - return std::make_shared<SystemImpl>(); + return new SystemImpl(); } else { diff --git a/SDK/C++/public/CMakeLists.txt b/SDK/C++/public/CMakeLists.txt index 47ea694e2..ae8c7da08 100644 --- a/SDK/C++/public/CMakeLists.txt +++ b/SDK/C++/public/CMakeLists.txt @@ -17,7 +17,7 @@ endif() if(WIN32) add_definitions(-DWIN32) set(CMAKE_GENERATOR_TOOLSET "host=x64") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /arch:AVX2 /MP4 /std:c++11 /wd4996") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /arch:AVX2 /MP4 /std:c++14 /wd4996") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /DFTL_DEBUG /Wall") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /O2") set(OS_LIBS "") diff --git a/SDK/C++/public/voltu.cpp b/SDK/C++/public/voltu.cpp index 51d32a532..25b0f4019 100644 --- a/SDK/C++/public/voltu.cpp +++ b/SDK/C++/public/voltu.cpp @@ -60,13 +60,13 @@ std::shared_ptr<voltu::System> voltu::instance() if (handle) { - std::shared_ptr<voltu::System> (*init)(); - init = (std::shared_ptr<voltu::System> (*)())getFunction(handle, "voltu_initialise"); + voltu::System* (*init)(); + init = (voltu::System* (*)())getFunction(handle, "voltu_initialise"); if (init) { g_init = true; - auto instance = init(); + std::shared_ptr<voltu::System> instance(init()); if (!instance) { -- GitLab