Rcpp не может найти Rtools: "Ошибка 1 произошла при создании общей библиотеки"

Я столкнулся с простой проблемой установки с Rcpp, и я не могу заставить ее работать. Я попытался следовать этому примеру http://www.r-bloggers.com/user2013-the-rcpp-tutorial/ Но при выполнении этого кода:

library(Rcpp)
evalCpp("1 + 1", showOutput= TRUE)

Я получаю этот вывод

C:/R/R-30~1.1/bin/x64/R CMD SHLIB -o "sourceCpp_33280.dll" "file8d01b0a675b.cpp" 
Error in sourceCpp(code = code, env = env, rebuild = rebuild, showOutput = showOutput,  : 
  Error 1 occurred building shared library.
WARNING: Rtools is required to build R packages but is not currently installed. 
Please download and install the appropriate version of Rtools before proceeding:

В попытке заставить его работать я сделал следующее:

  • установлен Rtools 31 с install.Rtools()
  • установлен R в C:\R\R-3.0.1 Файлы библиотеки
  • хранятся в C:\R\R-3.0.1\library
  • установлен Rstudio в C:\R\RStudio
  • разместил мой script в C:\R

большинство подобных проблем, похоже, указывают на то, что пространство было в пути к файлу, поэтому я перемещал почти все, что мог. Но все же не удается найти Rtools. Я попробовал это на своем ноутбуке и на рабочем столе, и оба они не работают, поэтому, возможно, что-то структурное я делаю неправильно.

Ответ 1

Похоже, что ни ваши R файлы, ни Rtools-каталоги не находятся в вашей переменной среды PATH. Попробуйте следующее:

> writeLines(strsplit(Sys.getenv("PATH"), ";")[[1L]])
C:\R\Rtools\bin
C:\R\Rtools\gcc-4.6.3\bin
C:\R\R-devel\bin\x64
[... and so on ...]

Если ваши каталоги C:\R\R-3.0.1\bin\x64\ и C:\R\Rtools\bin\ и C:\R\Rtools\gcc-*.*.*\bin\ (replace\gcc - * - * - *\с вашей версией gcc-двоичных файлов) не указаны, необходимые компоненты не могут быть найдены. Чтобы быть в безопасности, также создайте системную переменную под названием CYGWIN со значением nodosfilewarning.

После изменения/создания переменных PATH и CYGWIN перезагрузитесь. Затем он должен работать, и вы можете разместить свои источники в любом месте на своем компьютере, а также скомпилировать их вручную, используя R CMD SHLIB.