R зависимый пакет, кажется, не доступен в пакете - PullRequest
0 голосов
/ 29 октября 2018

Я не могу понять, чего мне не хватает. Следующая ситуация:

Я написал 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. Ничего не изменилось.

Надеюсь, вопрос достаточно полон. Если вам не хватает информации, дайте мне знать. Благодарен за любые предложения!

...