如果我获取以下代码(* .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,但这对解决此问题没有帮助。