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
.