我是一名中国学者,对通过RInside调用R函数非常感兴趣。我按照一般说明在C:\R\R-3.3.0
下安装R,RCPP,RInside和Rtools。我的操作系统是Windows 7.当我使用Windows命令提示符运行make -f makefile.win
时,编译失败。我有一些错误:
C:\R\R-3.2.0\example>make -f makefile.win
' | /bin/R --arch --vanilla --slave) ' | /bin/R --arch --vanilla --slave) -Wa
ll -s rinside.cpp ' | /bin/R --arch --vanilla --slave) ' | /bin/R --arc
h --vanilla --slave) -o rinside
Syntax error: ")" unexpected
make: *** [rinside] Error 2
我还习惯使用Cygwin来运行make -f makefile.win
并得到与以下几乎相同的错误:
gtang@5c260a55ee19 /cygdrive/c/r/r-3.2.0/example
$ make -f makefile.win
' | /bin/R --arch --vanilla --slave) ' | /bin/R --arch --vanilla --slave) -Wall -s rinside.cpp ' | /bin/R --arch --vanilla --slave) ' | /bin/R --arch --vanilla --slave) -o rinside
/bin/sh: -c: line 0: syntax error near unexpected token `)'
/bin/sh: -c: line 0: `' | /bin/R --arch --vanilla --slave) ' | /bin/R --arch --vanilla --slave) -Wall -s rinside.cpp ' | /bin/R --arch --vanilla --slave) ' | /bin/R --arch --vanilla --slave) -o rinside'
<builtin>: recipe for target `rinside' failed
make: *** [rinside] Error 1
我该如何解决这个问题?我应该使用另一个Unix shell而不是bash来运行make -f makefile.win
吗?
答案 0 :(得分:1)
我不会在Windows上定期构建RInside,但我已经反复这样做了。它通常有效,但这通常意味着您设置不正确。
在问题的第二部分看到你如何使用Cygwin我强烈建议你重新阅读R Installation and Administration的相关部分 - 特别是那些与GridLayout layout = new GridLayout(1, false);
layout.verticalSpacing = 0;
shell.setLayout(layout);
等有关的部分R从不支持Cygwin,在你的PATH
中使用Cygwin命令通常只是一个流泪的秘诀......