使用 Rcpp 安装 R 包是否需要 Rtools (Windows)

Does installing an R package with Rcpp require Rtools (Windows)

我正在用 Rcpp 制作一个 R 包。它在我安装了 Rtools 的机器上运行良好。但最近,我试图在另一台机器 (Windows) 上本地安装我的包,但出现了编译错误。原因是在那台机器上没有 g++ 编译器(对于 Windows,g++ 由 Rtools 提供)。安装Rtools后,一切正常

那么问题来了,如果我上传到CRAN,是否还需要用户手动安装Rtools?还是函数 install.package() 检测并为他们安装 Rtools?

另外,如果你们知道一些用Rcpp写的包,请告诉我。我想看看它是如何工作的。

So the question is, if I upload it to CRAN, does it still requires users to install Rtools by hand?

没有

Or does the function install.package() detect and install Rtools for them?

没有

CRAN 构建了预编译的二进制文件,Windows 和 MacOS 用户无需编译器和相关工具即可安装这些文件。

Also, if you guys know some packages written with Rcpp, please let me know. I'd like to take a look how it works.

rr <- devtools::revdep("Rcpp")
length(rr) ## 907

或查看 Rcpp page on CRAN.

用户,例如通过 install.package() 下载它的人实际上是在下载 "compiled" 版本的软件包,称为由 CRAN 维护的二进制文件。他们将永远只需要一份 R。

另一方面,开发人员,例如创建它的人需要特定于系统的开发工具。对于 Windows 平台 上的用户,他们必须在本地安装 Rtools on their machine. For developers on macOS, they must have their own copies of gfortran binaries and xcode developer line tools

最后,有许多这样的 Rcpp 包可供寻找灵感...