From be170f131c4e8385932b5f6a5758b1c7e787fe89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Villemot?= Date: Tue, 16 Apr 2019 12:13:30 +0200 Subject: [PATCH] k-order DLL: fix compilation error on Windows introduced by b1ba53ce0 Ref #217 --- mex/sources/k_order_perturbation/dynamic_dll.cc | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/mex/sources/k_order_perturbation/dynamic_dll.cc b/mex/sources/k_order_perturbation/dynamic_dll.cc index e2f311f59..4688d66b5 100644 --- a/mex/sources/k_order_perturbation/dynamic_dll.cc +++ b/mex/sources/k_order_perturbation/dynamic_dll.cc @@ -48,13 +48,14 @@ DynamicModelDLL::DynamicModelDLL(const std::string &modName, int ntt_arg, int or for (int i = 0; i <= order; i++) { std::string funcname = "dynamic_" + (i == 0 ? "resid" : "g" + std::to_string(i)); - void *deriv, *tt; + dynamic_deriv_fct deriv; + dynamic_tt_fct tt; #if defined(__CYGWIN32__) || defined(_WIN32) - deriv = GetProcAddress(dynamicHinstance, funcname.c_str()); - tt = GetProcAddress(dynamicHinstance, (funcname + "_tt").c_str()); + deriv = reinterpret_cast(GetProcAddress(dynamicHinstance, funcname.c_str())); + tt = reinterpret_cast(GetProcAddress(dynamicHinstance, (funcname + "_tt").c_str())); #else - deriv = dlsym(dynamicHinstance, funcname.c_str()); - tt = dlsym(dynamicHinstance, (funcname + "_tt").c_str()); + deriv = reinterpret_cast(dlsym(dynamicHinstance, funcname.c_str())); + tt = reinterpret_cast(dlsym(dynamicHinstance, (funcname + "_tt").c_str())); #endif if (!deriv || !tt) { @@ -69,8 +70,8 @@ DynamicModelDLL::DynamicModelDLL(const std::string &modName, int ntt_arg, int or #endif ); } - dynamic_deriv.push_back(reinterpret_cast(deriv)); - dynamic_tt.push_back(reinterpret_cast(tt)); + dynamic_deriv.push_back(deriv); + dynamic_tt.push_back(tt); } tt = std::make_unique(ntt);