【问题标题】:Issue Building R package with RcppArmadillo使用 RcppArmadillo 构建 R 包
【发布时间】:2018-04-06 22:37:52
【问题描述】:

为了方便使用,我正在使用 RcppArmadillo.package.skeleton() 构建一个带有 RcppArmadillo 的 R 包。

我的代码结构如下:

RcppArmadillo.package.skeleton(name = "HACSim", code_files = c("accumulate.cpp", "HAC.sim.R", "HAC.simrep.R"),example_code = FALSE).

运行良好。但是,我收到一条警告消息:

Warning message:
In (function (name = "anRpackage", list = character(), environment = .GlobalEnv,  :
  Invalid file name(s) for R code in ./HACSim/R:
  'accumulate.cpp'
 are now renamed to 'z<name>.R'

我觉得奇怪的是 R 不能识别 .cpp 扩展名。

这不是使用 RcppArmadillo.package.skeleton() 指定 C++ 文件的正确方法吗?

【问题讨论】:

    标签: c++ r package


    【解决方案1】:

    不,这不是正确的方法。查看 ?RcppArmadillo.package.skeleton 时,?package.skeleton 的参数为 code_files。上面写着:

    code_files
    带有 R 代码文件路径的字符向量,用于构建包。请参阅“详细信息”。

    根本无法用RcppArmadillo.package.skeleton 指定C++ 文件。我建议只包含.R 文件并手动将.cpp 文件复制到src 文件夹中。

    【讨论】:

    • 谢谢。我现在明白了。这在生成的自述文件中有明确说明。
    猜你喜欢
    • 2016-01-28
    • 2022-12-14
    • 2017-06-25
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多