使用 Rcpp 的包编译失败

Compilation failed for package with Rcpp

我有一个.cpp文件可以被sourceRcpp()编译成功。现在我为它使用 Rcpp.package.skeleton() ,它会生成相关目录。然后我 运行 代码 R CMD Install 在命令行上,但它显示了一个错误的警告:

compilation failed for package...

我是 Windows 用户并使用 RStudio。我听从了一些建议,找到了文件 Makevars.win,它只有一行

PKG_LIBS = $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)

也许我需要添加 Rcpp:::LdFlags() 之类的东西。我之前已经安装了 Rtools,因为我可以在不使用 Rcpp.

的情况下编译和安装我自己的包

你能给我一些如何处理的建议吗?

如果您已经在 RStudio 中,请执行此操作:

  1. 文件 -> 新建项目 -> 新建目录 -> R 包
  2. 重要:将 'Create Package' 中的开关从 'R Package' 切换到 'R Package w/Rcpp'。
  3. 构建包。它会起作用,就像 Rcpp.package.skeleton().
  4. 将您的源文件复制到 src/
  5. 再次构建包。这将 自动 运行 compileAttributes() 为您完成,这是您无法手动完成的。

所有这些都记录在案。