Я хотел бы отправить обновленную версию пакета 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