Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ R包中的强制源重建_C++_R_Makefile_Packages_Rcpp - Fatal编程技术网

C++ R包中的强制源重建

C++ R包中的强制源重建,c++,r,makefile,packages,rcpp,C++,R,Makefile,Packages,Rcpp,这与类似,只是专门用于R包。既然R使用自己的定制构建过程,那么使用Rcpp强制进行重构的正确方法是什么 (由于我不想进入这里,我的C++代码都位于外面/PKG/Src,并且通过一个简单的包装函数来调用,它从不改变。因此,当重要代码发生变化时,R认为没有任何改变,并声明了可怕的:对于 使用Rcpp强制重建的正确方法是什么 显而易见的答案是从源头上重建 R CMD INSTALL sourceTarballOfPackage_0.1.2.tar.gz 然后问题就变成了从哪里获取源代码:CRAN、G

这与类似,只是专门用于R包。既然R使用自己的定制构建过程,那么使用Rcpp强制进行重构的正确方法是什么

(由于我不想进入这里,我的C++代码都位于外面/PKG/Src,并且通过一个简单的包装函数来调用,它从不改变。因此,当重要代码发生变化时,R认为没有任何改变,并声明了可怕的<代码>:对于

使用Rcpp强制重建的正确方法是什么

显而易见的答案是从源头上重建

R CMD INSTALL sourceTarballOfPackage_0.1.2.tar.gz
然后问题就变成了从哪里获取源代码:CRAN、GitHub、GitLab、BitBucket。。。但是我们有帮手


如果您的代码是内部代码,那么您只需要重新构建调用它的包装器,它仍然在包的
src/
中。这与另一个与外部资源链接的R(cpp)包没有什么不同。

使用Rcpp强制重建的正确方法是什么

显而易见的答案是从源头上重建

R CMD INSTALL sourceTarballOfPackage_0.1.2.tar.gz
然后问题就变成了从哪里获取源代码:CRAN、GitHub、GitLab、BitBucket。。。但是我们有帮手


如果您的代码是内部代码,那么您只需要重新构建调用它的包装器,它仍然在包的
src/
中。这与另一个与外部资源链接的R(cpp)包没有什么不同。

最简单的解决方案是将标志
--preclean
添加到
R CMD INSTALL
。在Rstudio中,可以在项目选项->构建工具->构建和重新加载-R CMD安装附加选项下添加此标志。

最简单的解决方案是将标志
--preclean
添加到
R CMD安装
。在Rstudio中,可以在项目选项->构建工具->构建和重新加载-R CMD INSTALL additonal Options下添加此标志。

“您只需要重新构建调用它的包装器”——准确地说!最好的方法是什么?默认情况下,如果时间戳没有更改,
R CMD INSTALL
将不会重新生成此文件。我的软件包都有一个脚本
cleanup
(这是标准但可选的部分),其中包括
configure
gcc
中的剩余内容,以及。。。这些东西可以通过查看现有的软件包来研究——您有近10k的软件包可供选择!在RStudio中,您还可以选择“清理和重建”。接近清理步骤时,您可能只需执行
rmsrc/*.{o,所以,dylib}
。谢谢您的提示。这让我想到了
--preclean
标志,这似乎是最简单的解决方案。(顺便说一句,我以前没有见过使用
cleanup
脚本,但总的来说,这听起来是个不错的主意。我很想看到一些关于这是如何工作的描述!)我不知道为什么你会觉得这听起来如此困难。“你只需要重新构建调用它的包装器”——确切地说!最好的方法是什么?默认情况下,如果时间戳没有更改,
R CMD INSTALL
将不会重新生成此文件。我的软件包都有一个脚本
cleanup
(这是标准但可选的部分),其中包括
configure
gcc
中的剩余内容,以及。。。这些东西可以通过查看现有的软件包来研究——您有近10k的软件包可供选择!在RStudio中,您还可以选择“清理和重建”。接近清理步骤时,您可能只需执行
rmsrc/*.{o,所以,dylib}
。谢谢您的提示。这让我想到了
--preclean
标志,这似乎是最简单的解决方案。(顺便说一句,我以前没有见过使用
cleanup
脚本,但总的来说,这听起来是个不错的主意。我很想看看这是如何工作的!)我不知道为什么你会觉得这听起来如此困难。