使用 RcppArmadillo 构建 R 包的问题

Issue Building R package with RcppArmadillo

本文关键字:问题 RcppArmadillo 构建 使用      更新时间:2023-10-16

我正在使用RcppArmadillo.package.skeleton((构建一个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++文件的正确方法吗?

不,这不是正确的方法。看看你?RcppArmadillo.package.skeleton?package.skeleton提到code_files论点。那里说:


code_files 一个字符向量,其中包含用于生成包的 R 代码文件的路径。请参阅"详细信息"。

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