在 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”不明确

无法在 Windows 10 的 Rstudio 中编译 rstan 或 Rcpp 代码

使用 Rcpp 中包含的标准

在rcpp犰狳中将向量与double进行比较

已安装 Rcpp,但来自复杂代码段的编译错误