c++ - 在 macOS 中使用 RCPP 包 : Error in dyn. 加载创建 R 包时出错

标签 c++ ios r rcpp

我正在尝试使用 RCPP 包从 cpp 代码创建 R 包,但我发现了以下错误。 我在最新版本上使用 macOS sierra、Rstudio、R。

我做了以下步骤......

1. 使用 Rcpp.package.skeleton("mypackage") 但未生成 Makevars 或 Makevars.win。

2.运行compileAttributes生成RcppExport.cpp

3.run sourceCpp(rcpp_script.cpp) 然后错误dyn.load如下。

Error in dyn.load("/private/var/folders/p4/hx950qdj5hb8zrvzc74_rpr40000gn/T/RtmpX9AU6m/sourceCpp-x86_64-apple-darwin15.6.0-0.12.11/sourcecpp_11cc996e86d/sourceCpp_93.so") : 
  unable to load shared object '/private/var/folders/p4/hx950qdj5hb8zrvzc74_rpr40000gn/T/RtmpX9AU6m/sourceCpp-x86_64-apple-darwin15.6.0-0.12.11/sourcecpp_11cc996e86d/sourceCpp_93.so':
  dlopen(/private/var/folders/p4/hx950qdj5hb8zrvzc74_rpr40000gn/T/RtmpX9AU6m/sourceCpp-x86_64-apple-darwin15.6.0-0.12.11/sourcecpp_11cc996e86d/sourceCpp_93.so, 6): Symbol not found: __ZN23stream_clustering_class3nanER11data_readerRK13config_reader
  Referenced from: /private/var/folders/p4/hx950qdj5hb8zrvzc74_rpr40000gn/T/RtmpX9AU6m/sourceCpp-x86_64-apple-darwin15.6.0-0.12.11/sourcecpp_11cc996e86d/sourceCpp_93.so
  Expected in: flat namespace
 in /private/var/folders/p4/hx950qdj5hb8zrvzc74_rpr40000gn/T/RtmpX9AU6m/sourceCpp-x86_64-apple-darwin15.6.0-0.12.11/sourcecpp_11cc996e86d/sourceCpp_93.so

在发现这个错误之后,我发现了很多关于 Makevars 文件的建议。我可以自己创建这个文件吗?

如有任何建议,我们将不胜感激。 先谢谢你。

最佳答案

你的问题,即使经过编辑,还是有点难以理解。

您的链接错误表明您引用了您在代码或链接说明中提供的外部函数。这样的代码不再是 Rcpp 最简单的可能用例,而是更高级的。

但是我们有一个完整的小插曲:Rcpp-package .看看它,它应该可以回答您的问题。

有关 StackOverflow 的更好问题,请参阅 How to make a great R reproducible example .

关于c++ - 在 macOS 中使用 RCPP 包 : Error in dyn. 加载创建 R 包时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44229285/

相关文章:

iphone - 从挂起状态回来 - iOS

ios - 模态视图在关闭后重新出现

objective-c - 如何使用 cocos2d 在触摸上移动 Sprite ?

r - 将文本从多个连接附加到单个文件的最可靠方法是什么

c++ - Makefile 在同一目录中找不到文件

c++ - 具有 POD 和未初始化值数组的 auto_ptr

c++ - 使用 Qt 表单中按顺序命名的 ui 对象填充数组

c++ - 为什么我在 Visual Studio 的 OpenCV 项目中使用/MT 时仍然需要 dll?

R 顶部 Shiny 的 DT 复选框可勾选/取消勾选下面的所有复选框

r - 与开始和结束位置重叠连接