根据Rcpp FAQ(2.15。新的“无链接”功能),自Rcpp版本0.11.0起,我们可以避免在Makevars文件中指定LAPACK / BLAS / Fortran,并且实际上避免如果遵循这些说明,则完全是Makevars。
... only two things are required:
• an entry in DESCRIPTION such as Imports: Rcpp (which
may be versioned as in Imports: Rcpp (>= 0.11.0)), and
• an entry in NAMESPACE to ensure Rcpp is correctly instantiated,
for example importFrom(Rcpp, evalCpp).
但是,除了为Rcpp添加Imports
行之外,LinkingTo
也可以工作吗?也就是说,我可以使用:
LinkingTo: Rcpp (>= 0.11.0)
代替:
Imports: Rcpp (>= 0.11.0)
还是都需要?
答案 0 :(得分:3)
简而言之,不用-正如我们所说的,你们两者都需要,因为它们有不同的用途。
出于所有意图和目的, LinkingTo:
是R的指令,用于告诉编译器所需的头文件在哪里。针对Rcpp构建的程序包 必须具有此功能。
Imports:
处理程序包名称空间和程序包加载/附加时的初始化。 Rcpp是“几乎”完全基于标头的,但是需要执行一些代码。
所有这些都在 Writing R Extensions 手册中针对R进行了记录,而在我们的程序集插图中针对Rcpp进行了记录。