Ошибка при компиляции кода Rcpp в R-пакете с использованием RStudio

Я использую Rstudio для создания пакета и изучения использования пакета Rcpp для получения доступа к С++-коду, однако при попытке создать пакет, и возникает ошибка:

fatal error: Rcpp.h: No such file or directory

Компилятор Inline С++ отлично компилируется, только при рассмотрении автономных файлов С++ в папке src, явно ссылаясь на директиву #include <Rcpp.h> во главе файла .cpp.

Я думаю, что это может иметь какое-то отношение к переменным окружения, кто-нибудь знает, что такое правильная настройка и как исправить для Rstudio, работающего в среде Ubuntu 12.04 LTS?

Команды sourceCpp('./src/xyz.cpp') выполняются так, как ожидается, ошибка возникает, когда Build and Reload выполняется из среды RStudio.

Ответ 1

Трудно сказать, не имея доступного пакета. Думаю, вы пропустите:

LinkingTo: Rcpp

в вашем файле DESCRIPTION.

Ответ 2

Вы случайно начали с "Создать пакет" в RStudio? Если да, знаете ли вы, что вы, возможно, пропустили свой вариант сиблинга "Создать пакет w/Rcpp"?

Подробнее см. на странице Использование Rcpp с сайтом RStudio и, в частности, заключительный раздел по созданию пакета.

Также обратите внимание, что мы написали целую виньетку

Ответ 3

Я столкнулся с этим же симптомом (Rcpp.h: No such file or directory) при попытке установить пакет "xml2" в системе Ubuntu 14. В моем случае первопричина оказалась плохой установкой пакета "Rcpp". Некоторые из файлов были там (Rcpp/libs), но другие не были (Rcpp/include). Я не уверен, как система попала в это состояние, но я подозреваю, что установка этого пакета завершена частично. Повторная установка пакета "Rcpp" разрешила мне проблему.

Ответ 4

Это потому, что ваш GCC был обновлен, и он отличается от того, который был у вас при установке R. У меня была та же проблема.

Я удалил пакет "Rccp", используя:

remove.packages("Rcpp")

Затем вам нужно снова установить его. Просто запустите:

source("https://bioconductor.org/biocLite.R")
biocLite("Rcpp")