r - 带有 RcppArmadillo 和 c++11 的包不导出函数
问题描述
如果我获取以下代码(*.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,它一切正常。
我在 CXX_STD = CXX11 中包含了一个 src/Makevars.* ,但这对解决这个问题没有帮助。
解决方案
推荐阅读
- visual-studio - “列表”上方有一行,我收到错误消息。我如何分配一个干净的“列表”
- angular - 如何将图像从strapi所见即所得的降价编辑器显示到角度前端
- java - ECR 中的 Docker 映像问题(错误:无效或损坏的 jarfile /app.jar)
- reactjs - 每次按下按钮时反应 setState 不渲染
- git - 如何从我的 github 存储库的另一个分支中提取代码
- java - 为什么 SFTP 出站网关在我启动其集成流程后不开始工作?
- php - Google Analytics Data API (GA4) - 不适用于实时站点
- javascript - 未捕获的类型错误:无法在 window.onload 处读取 null 的属性(读取“孩子”)
- .net-core - 如何连接到在 Raspberry Pi 上运行的 gRPC 服务器
- java - 如何从带或不带小数部分的双精度数转换为十六进制字符串(Base-26)?