代码之家  ›  专栏  ›  技术社区  ›  evolvedmicrobe

为了避免makevars文件,是否需要在imports和linkingto中同时指定rcpp?

  •  0
  • evolvedmicrobe  · 技术社区  · 7 年前

    根据 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).

    但不是添加 Imports RCPP线路,是否 LinkingTo 还有工作吗?也就是说,我可以使用:

    LinkingTo: Rcpp (>= 0.11.0)
    

    而不是:

    Imports: Rcpp (>= 0.11.0)
    

    或者两者都需要?

    1 回复  |  直到 7 年前
        1
  •  3
  •   Dirk is no longer here    7 年前

    简言之,不——正如我们所说,你们两个都需要,因为他们有不同的目的。

    LinkingTo: 对于所有的意图和目的来说,都是R的一个指令,用于告诉编译器所需的头文件在哪里。基于RCPP的包装楼 必须 拿着这个。

    Imports: 处理包命名空间和包加载/附加时的初始化。RCPP“几乎”完全基于头,但需要执行一些代码。

    所有这些都记录在 正在写入R扩展 手册和我们的包装小册子中的RCPP。

    推荐文章