我想提交一个R套件的更新版本,但由于注意事项而失败:
未发现任何调用:'R_registerRoutines','R_useDynamicSymbols'
我在这里尝试了解决方案:https://stackoverflow.com/a/42339658/3738150
运行tools::package_native_routine_registration_skeleton(".")
会产生
#include <stdlib.h> // for NULL
#include <R_ext/Rdynload.h>
/* FIXME:
Check these declarations against the C/Fortran source code.
*/
/* .C calls */
extern void rW(void *, void *, void *);
extern void ry_bing(void *, void *, void *);
extern void ry_bmf(void *, void *, void *, void *);
static const R_CMethodDef CEntries[] = {
{"rW", (DL_FUNC) &rW, 3},
{"ry_bing", (DL_FUNC) &ry_bing, 3},
{"ry_bmf", (DL_FUNC) &ry_bmf, 4},
{NULL, NULL, 0}
};
void R_init_rstiefel(DllInfo *dll)
{
R_registerRoutines(dll, CEntries, NULL, NULL, NULL);
R_useDynamicSymbols(dll, FALSE);
}
我放入了rstiefel_init.c
然而,当我检查这个时,我得到Warning: failed to assign RegisteredNativeSymbol for rW to rW since rW is already defined in the ‘rstiefel’ namespace
等其他定义。
任何帮助都会非常感激!
我想提交的打包件可以在https://github.com/pdhoff/rstiefel
找到答案 0 :(得分:1)
您的R code定义了this.setState({ [['first_name']['value']]: e.target.value})
this.setState({ ['first_name'['value']]: e.target.value})
,但是通过
rW <- ...
你要求R用表示C级功能的符号覆盖该符号。您可以使用
注册您的例程{"rW", (DL_FUNC) &rW, 3},
或如Writing R Extensions所示,在您的NAMESPACE中指明{"C_rW", (DL_FUNC) &rW, 3},
。