我正在写我的包并在加载我的包时收到警告。我在我的Cdqrls
一些代码中使用了:.Call(Cdqrls, x[, id1, drop=FALSE] * w, w * z, epsilon)
并且我还在文件夹中包含了一个lm.c
文件src
,其中包括:
...
SEXP Cdqrls(SEXP x, SEXP y, SEXP tol)
{
SEXP ans, ansnames;
SEXP qr, coefficients, residuals, effects, pivot, qraux;
int n, ny = 0, p, rank, nprotect = 4, pivoted = 0;
double rtol = asReal(tol), *work;
...
但是,当我在 R 中安装我的包时,会出现以下警告消息:
Warning message:
In FUN(1L[[1L]], ...) :
failed to assign NativeSymbolInfo for Cdqrls since Cdqrls is already defined in the ‘My_Package_Name’ namespace
我用谷歌搜索了这条警告信息,但什么也没得到……所以我有两个具体问题:
有没有人经历过这样的警告?或者有人可以给我一些关于潜在错误/错误的建议吗?
这个警告不会影响我现在运行的代码,但它很烦人。当我的最终用户加载软件包时,有没有办法抑制此警告消息?(对不起,我知道应该避免这种情况,但只是好奇:)
更新
另一个可能有助于调试问题的注释:我使用
##' @useDynLib My_Pkg_Name Cdqrls
##' @keywords internal
对于使用的功能.Call(...)
。