通过Roxygen添加useDynLib

23

我正在使用roxygen2包将我的软件包转换为使用roxygen文档。 现在,我的软件包无法加载,我认为这是由于在NAMESPACE文件中缺少useDynLib(mypackage)调用导致的。 我该如何生成这个调用?


7
我的直觉告诉我应该是 @useDynLib xyz - hadley
是的。我真应该尝试一下显而易见的方法。 - Andrew Redd
1
从上面的内容中(我猜应该是这样),对我来说并不是完全明显的,但该选项需要添加到 roxygen 文档条目中,以供包本身使用。对我有帮助的是看到这个例子:https://ironholds.org/blog/adding-rcpp-to-an-existing-r-package-documented-with-roxygen2/ - Nicholas G Reich
演示链接似乎已经失效了,这太糟糕了,因为我也曾经遭受过不知道在哪里放置调用的困扰。 - miratrix
1个回答

20
开始一个包级文档文件。在你的示例中,R/mypackage.R 包含类似以下内容的内容:
#' mypackage: A package for computating the notorious bar statistic.
#'
#' The mypackage package provides three categories of important functions:
#' foo, bar and baz.
#' 
#' @section Mypackage functions:
#' The mypackage functions ...
#'
#' @docType package
#' @name mypackage
#' @useDynLib mypackage
NULL
#> NULL

我也花了一些时间才弄清楚.registration=TRUE的意思。
#' @useDynLib mypackage, .registration=TRUE

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接