Я пытаюсь связать R и C в окнах, следуя инструкциям на этой веб-страницеLinking C и R в Windows,
http://mcglinn.web.unc.edu/blog/linking-c-with-r-in-windows/
У меня есть R, RTOOLS и TurboC4 все в отдельных папках в диске С , Моя система 64бит, но я попробовал его на 32 и 64 бит R.
Я написал следующий код в C
#include <R.h>
void hello(int *n)
{ int i;
for(i=0; i<=*n; i++){
Rprintf("hello, world!this is hell though I'm enjoying it\n");
}
}
и сохраняется с именем WORLD.C на отдельном файле путь к которому является C: \ TurboC4 \ TC \ BIN
Я также написал следующий код R
hello2 <- function(n) {
.C("hello", as.integer(n))
}
hello2(5)
и сохраните его с именем WORLD.R.
Теперь я должен подготовить свое окно. Я скачал RTools33.exe отсюда https://cran.r-project.org/bin/windows/Rtools/
и установить переменные окружения вручную с помощью этой команды
PATH=c:\Rtools\bin;c:\Rtools\gcc-4.6.3\bin;c:\Program Files\R\R-3.2.2\bin\i386;
Тогда Заново системы
Перед вызовом кода C в РИ должны скомпилировать код C в CMD. Я пишу следующую команду, чтобы изменить каталог, в котором WORLD.C сохраняется
cd C:\Users\TurboC4\TC\BIN
, который является успешным, но когда я пытаюсь скомпилировать
C:\Users\TurboC4\TC\BIN> R CMD SHLIB WORLD.c
я получаю следующее сообщение об ошибке. «R» не распознается как внутренняя или внешняя команда, работающая ». Я также попытался скомпилировать WORLD.C в C и получил эти две ошибки. «Невозможно открыть #include R.h>» и «функция Rprintf должна иметь прототип».
Окружающая среда - проблема Я думаю, что здесь я столкнулся с проблемой. Я проверил, что Rtools33.exe совместим с R 3.2.x и более поздними версиями. Но я получаю ту же ошибку в CMD. Я пробовал разные среды путей и пробовал его с различными версиями R, такими как R-3.2.2, R-3.2.0, 2.15.3, 2.15.0. Но когда я пишу
«install.packages (» RTools33") в любом из этих R-версии, я получил следующее предупреждение
Warning in install.packages :package ‘RTools33’ is not available (for R version
2.15.0)"
Причина использования различных Rs, когда вы загружаете папку RTOOLS там версия файла, который говорит, что «Rtools Collection 3.3.0.1959». Так что я думаю, может быть, это проблема совместимости.
есть некоторые инструкции по Github странице https://github.com/stan-dev/rstan/wiki/Install-Rtools-for-Windows «для установки Rtools, необходимо внимание быть оплачена на этапе где мы можем редактировать систему PATH, чтобы компилятор C++, который включен в Rtools, может использоваться R. Как указано на следующем шаге, нам нужно проверить этот параметр (не вручную отредактировать систему PATH. После проверки опции система PATH будет отредактирована для включения важных папок Rtools в процессе установки)."
Итак, я удалил RTools и пока переустановка я проверил эту опцию, а затем повторен, но все в вене.
Я проверил Sys.getenv („PATH“) и получил
c:\\\\\\\\Rtools\\\\\\\\gcc-4.6.3\\\\\\\\bin;c:\\\\\\\\RTools\\\\\\\\bin;
Я также попытался, установив этот путь в управления pannel-> useraccountandfamilysafety-> Useraccounts-> изменить мой
переменную окружения , а затем создать новую переменную с выше PATH. Я до сих пор не в состоянии Dir ect R-C++. Может ли кто-нибудь понять, в чем моя ошибка?
спасибо Anoop LL –