在 Rstudio 中将包从使用 Rcpp 构建恢复为不使用 Rcpp 构建
Posted
技术标签:
【中文标题】在 Rstudio 中将包从使用 Rcpp 构建恢复为不使用 Rcpp 构建【英文标题】:Revert package from building with Rcpp to building without Rcpp in Rstudio 【发布时间】:2015-12-03 22:06:12 【问题描述】:对于一个内部开发项目,我正在构建一个包。我很好奇用 rcpp 构建它,但实际上并没有使用任何 cpp 文件。由于我们的邮件服务器的附件策略不允许可执行文件,我想停止使用生成的 .dll(win 架构)构建包,但无法恢复。有人有什么建议吗(除了复制到一个新的 rstudio 项目中)?
【问题讨论】:
里面也有C或Fortran吗?因为你不会得到一个 DLL,除非也有一些类似的东西...... 它仍然在src/
文件夹中。请参阅下面的第一个要点。
【参考方案1】:
这并不难:
删除src/
删除DESCRIPTION
中的LinkingTo:
和Imports:
删除useDynLib
指令,以及NAMESPACE
中的importFrom(Rcpp, ...)
并等待所有额外的时间让您的非 Rcpp 包完成运行 :)
【讨论】:
感谢您的回复,但我已经这样做了。文我构建了win库,我仍然得到zip和.dll中的lib文件夹。我怀疑这个包现在被标记为在 RStudio 中构建一个 dll。 不。 RStudio 只是像我们其他人一样打电话给R CMD build
。计算机仍然是确定性的。
我们怀疑出事了。如果没有 src 文件夹,那么就没有要编译的东西,所以应该没有 dll。里面是什么?你能检查一下里面的符号吗?你能看到构建它的命令吗?某事没有按照您的想法行事。
正如预期的那样,这是一个 UTS 错误(用户太愚蠢了) - 在删除旧的 zip 并重新构建之后,构建确实没有 /lib 文件夹。似乎旧的 zip 文件已被修改,但没有清理。以上是关于在 Rstudio 中将包从使用 Rcpp 构建恢复为不使用 Rcpp 构建的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Rcpp 在 Rstudio 中关闭 CLANG 诊断?
Rcpp Armadillo:RStudio 说“exp”不明确