k-order DLL: fix compilation error on Windows introduced by b1ba53ce0

Ref #217
time-shift
Sébastien Villemot 2019-04-16 12:13:30 +02:00
parent 57848930c6
commit be170f131c
No known key found for this signature in database
GPG Key ID: 2CECE9350ECEBE4A
1 changed files with 8 additions and 7 deletions

View File

@ -48,13 +48,14 @@ DynamicModelDLL::DynamicModelDLL(const std::string &modName, int ntt_arg, int or
for (int i = 0; i <= order; i++) for (int i = 0; i <= order; i++)
{ {
std::string funcname = "dynamic_" + (i == 0 ? "resid" : "g" + std::to_string(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) #if defined(__CYGWIN32__) || defined(_WIN32)
deriv = GetProcAddress(dynamicHinstance, funcname.c_str()); deriv = reinterpret_cast<dynamic_deriv_fct>(GetProcAddress(dynamicHinstance, funcname.c_str()));
tt = GetProcAddress(dynamicHinstance, (funcname + "_tt").c_str()); tt = reinterpret_cast<dynamic_tt_fct>(GetProcAddress(dynamicHinstance, (funcname + "_tt").c_str()));
#else #else
deriv = dlsym(dynamicHinstance, funcname.c_str()); deriv = reinterpret_cast<dynamic_deriv_fct>(dlsym(dynamicHinstance, funcname.c_str()));
tt = dlsym(dynamicHinstance, (funcname + "_tt").c_str()); tt = reinterpret_cast<dynamic_tt_fct>(dlsym(dynamicHinstance, (funcname + "_tt").c_str()));
#endif #endif
if (!deriv || !tt) if (!deriv || !tt)
{ {
@ -69,8 +70,8 @@ DynamicModelDLL::DynamicModelDLL(const std::string &modName, int ntt_arg, int or
#endif #endif
); );
} }
dynamic_deriv.push_back(reinterpret_cast<dynamic_deriv_fct>(deriv)); dynamic_deriv.push_back(deriv);
dynamic_tt.push_back(reinterpret_cast<dynamic_tt_fct>(tt)); dynamic_tt.push_back(tt);
} }
tt = std::make_unique<double[]>(ntt); tt = std::make_unique<double[]>(ntt);