我使用 RcppEigen.package.sculpture() 作为向现有 R 包添加小函数的模板,因此我的描述文件现在包含以下行:
\n\nImports: Rcpp (>= 0.11.3), RcppEigen (>= 0.3.2.3.0)\nLinkingTo: Rcpp, RcppEigen\nRun Code Online (Sandbox Code Playgroud)\n\n然而,这样做R CMD check --as-cran <myPackageName_1.0.0>.tar.gz会给出以下结果:
“Depends/Imports 中的包可能只应位于 LinkingTo:\'RcppEigen\'”
\n\n编写 R 扩展页面说:“如果这些是包含源代码的 C++ 标头或在安装时完成静态链接,则在 \xe2\x80\x98LinkingTo\xe2\x80\x99 中指定包就足够了:这些包不需要(并且通常不应该)列在 \xe2\x80\x98Depends\xe2\x80\x99 或 \xe2\x80\x98Imports\xe2\x80\x99 字段中。这包括 CRAN 包 BH 以及 RcppArmadillo 和 RcppEigen 的几乎所有用户。
\n\n我不懂C++,所以我不知道这意味着什么。我创建包的过程如下:RcppEigen - getting from inline to a .cpp function in a package and "Map"
\n\n可以从“导入”中删除 RcppEigen 吗?为什么/为什么不呢?(即,对于我的情况,您能否解释一下“编写 R 扩展”页面的内容,以便我能够理解我在做什么?我实验室中的 R 和软件专家都表示他们不理解之间的区别“导入”和“LinkingTo”。)
\n