Как описано в посте:
Rcpp и boost: он должен работать, но не работает
Я пытаюсь использовать boost в Rcpp в Windows.(Упрощенный) файл:
// [[Rcpp::depends(BH)]]
#include <Rcpp.h>
#include <boost/multiprecision/float128.hpp>
namespace mp = boost::multiprecision;
// [[Rcpp::export]]
std::string qexp(double da = -1500.0, double db = -1501.0)
{
mp::float128 a(da), b(db);
mp::float128 res = mp::exp(a) / (mp::exp(a) + mp::exp(b));
return res.convert_to<std::string>();
}
У меня была проблема с компиляцией.Как предложил @duckmayr в этом посте, я попытался:
Sys.setenv("PKG_LIBS" = "-lquadmath")
, а затем Rcpp::sourceCpp('quadexp.cpp')
Таким образом, компиляция выполняется без ошибок.Но затем, когда я выполняю qexp (), я получаю сообщение в RStudio о «фатальной ошибке», и RStudio полностью отключается.Вы знаете, что может происходить?Я предполагаю, что моя проблема связана с какой-то конфигурацией, которая у меня есть, поскольку @duckmayr может без проблем запускать тот же код.На какие части моей конфигурации следует обратить внимание, чтобы избежать этой неприятной «фатальной ошибки»?