gpt4 book ai didi

c++ - 错误 : missing "PACKAGE" argument in RcppExport. R?

转载 作者:行者123 更新时间:2023-11-28 01:46:48 25 4
gpt4 key购买 nike

我重新构建了我正在开发的包(并且自一个月以来我一直没有更新)并且我发现我的所有测试都失败并出现错误:

Error in myCPlusPlusFun(...  : 
object 'myPackage_myCPlusPlusFun' not found

然后我发现我的 RcppExports.R 文件中的所有函数都缺少参数 PACKAGE = myPackage,请参阅 git diff< 的输出:

 myCPlusPlusFun <- function(X) {
- invisible(.Call('myPackage_myCPlusPlusFun', PACKAGE = 'myPackage', X))
+ invisible(.Call(myPackage_myCPlusPlusFun, X))

知道发生了什么事吗?我想我需要有

invisible(.Call('myPackage_myCPlusPlusFun', PACKAGE = 'myPackage', X))

当我构建我的包时自动再次生成行(?)

谢谢!

编辑:我的 NAMESPACE 文件中现在有以下几行:

exportPattern("^[[:alpha:]]+")
importFrom(Rcpp,evalCpp)
useDynLib(locus, .registration = TRUE)

(加上一些其他importsexports)。

我最近还必须添加一个 C 文件来注册具有以下内容的动态符号:

#include <R.h>
#include <Rinternals.h>
#include <R_ext/Rdynload.h>

void R_init_myPackage(DllInfo* info) {
R_registerRoutines(info, NULL, NULL, NULL, NULL);
R_useDynamicSymbols(info, TRUE);
}

后一个文件还需要吗?

最佳答案

是的,“一切都变了”,因为 R 3.4.0 造就了我们,而我们顺从了。

第二部分绝对没问题——它应该是这样的。

请检查- 你有生成的 src/RcppExports.cpp- 你在 NAMESPACE

中有正确的注册信息

过去几周更新了许多包,这通常有效。如果有疑问,可以通过创建一个快速的一次性包Rcpp.package.skeleton() 并比较。

另请注意,我们有两个极端情况需要修复,因此如果您需要,可以使用临时版本(参见 rcpp-devel 发布)——但是我认为你不会。

关于c++ - 错误 : missing "PACKAGE" argument in RcppExport. R?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44739720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com