如帖子中所述:
我正在尝试在 Windows 的 Rcpp 中使用 boost。(简化的)文件是:
// [[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 可以毫无问题地运行相同的代码。为了避免这种令人讨厌的“致命错误”,我的配置应该查看哪些部分?