在Windows上使用Rcpp的boost multiprecision

时间:2017-08-14 16:47:36

标签: r boost rcpp

我正在尝试编译并使用以下代码(我在SO上看到过):

// [[Rcpp::depends(BH)]]
#include <Rcpp.h>
#include <boost/multiprecision/float128.hpp>

namespace mp = boost::multiprecision;

// [[Rcpp::export]]
std::string mexp(double mx)
{
  mp::float128 x(mx);
  mp::float128 res = mp::exp(x);
  return res.convert_to<std::string>();
}

在编译之前,我必须执行Sys.setenv("PKG_LIBS" = "-lquadmath")否则编译不起作用。 然后编译运行正常,但是当我在R中键入mexp(1)时,R会话完全崩溃。我错过了什么吗?会话在RStudio以及经典的R gui中崩溃。

PS:我在Windows下,我用R-3.3.3以及R-3.4.1发生了崩溃。

编辑:

刚刚在Linux上使用R-3.4.1试过,这很好用。我甚至不需要做Sys.setenv("PKG_LIBS" = "-lquadmath")

0 个答案:

没有答案