使用RcppArmadillo和c ++ 11的软件包不会导出函数

时间:2018-07-11 11:41:50

标签: r c++11 rcpp

如果我获取以下代码(* .cpp文件),则一切正常,我可以在R中使用该功能:

// [[Rcpp::depends(RcppArmadillo)]]
// [[Rcpp::plugins(cpp11)]]

#include <RcppArmadillo.h>


// [[Rcpp::export]]
arma::vec foo() {
 arma::vec x = { 1.1, 2.2 };
 return x;
}

// [[Rcpp::export]]
int useAuto() {
  auto val = 42;
 return val;
}

但是,如果我在程序包中使用它们并构建了程序包,如果我尝试在R中使用这些功能,则会收到以下错误消息:

Error in .Call(<pointer: (nil)>) : NULL value passed as symbol address**

RcppArmadillo似乎是一个问题,因为如果我删除所有RcppArmadillo功能并仅使用Rcpp,则一切正常。

我包含了一个src / Makevars。*,其CXX_STD = CXX11,但这对解决此问题没有帮助。

0 个答案:

没有答案