Я не могу понять, чего мне не хватает. Следующая ситуация:
Я написал R-Package, назовем его "pkg_A"
Это зависит от "Rcpp", и у меня загружен модуль и настроен класс, подобный:
Rcpp::loadModule("pkg_A_modul", what = "pkg_A_cppClass_A")
cppClass_A <- setRcppClass(
Class = "pkg_A_cppClass_A",
CppClass = "pkg_A_cppClass_A",
module = "pkg_A_modul",
fields = c(
remark = "character"
)
)
и дополнительный конструктор
classA <- function(a,b){
# some stuff
tmpObj <- cppClass_A()
# some more stuff
return(tmpObj)
}
class(classA ) <- "classA "
Единственное, что я экспортирую в NAMESPACE - это функция / класс classA.
Это все работает нормально, и я могу собрать этот пакет без каких-либо предупреждений и даже проверить его с флагом "--as-cran".
Теперь я хочу построить второй пакет поверх этого пакета, давайте назовем это «pkg_B». Поэтому я перечисляю «pkg_A» в ОПИСАНИИ Зависит от «pkg_B».
а также я загружаю класс с importFrom(pkg_A, classA)
в NAMESPACE "pkg_B".
Теперь я хочу реализовать класс
classB <- setRefClass(
"classB",
contains = c("classA"),
fields = c( b = "numeric)
)
Но когда я теперь хочу собрать "pkg_B", я получаю ошибку:
Ошибка в getClass (что, где = где): "classA" не определен
класс
Я также попытался использовать вместо этого «pkg_A_cppClass_A», или впечатать весь pkg_A, или использовать pkg_A :: classA. Ничего не изменилось.
Надеюсь, вопрос достаточно полон. Если вам не хватает информации, дайте мне знать.
Благодарен за любые предложения!