Я создаю пакет R с RcppArmadillo, используя RcppArmadillo.package.skeleton (), чтобы облегчить использование.
Мой код структурирован следующим образом:
RcppArmadillo.package.skeleton(name = "HACSim", code_files = c("accumulate.cpp", "HAC.sim.R", "HAC.simrep.R"),example_code = FALSE).
Работает нормально. Однако я получаю предупреждающее сообщение:
Warning message:
In (function (name = "anRpackage", list = character(), environment = .GlobalEnv, :
Invalid file name(s) for R code in ./HACSim/R:
'accumulate.cpp'
are now renamed to 'z<name>.R'
Мне кажется странным, что R не распознает расширение .cpp.
Разве это не правильный способ указания файла C++ с помощью RcppArmadillo.package.skeleton ()?





Нет, это не правильный путь. Глядя на ?RcppArmadillo.package.skeleton, вы обращаетесь к ?package.skeleton за аргументом code_files. Там сказано:
code_files
a character vector with the paths to R code files to build the package around. See ‘Details’.
Просто невозможно указать файлы C++ с помощью RcppArmadillo.package.skeleton. Я предлагаю включить только файлы .R и вручную скопировать файлы .cpp в папку src.
Спасибо. Я вижу сейчас. Это было прямо указано в сгенерированном файле Readme.