在Windows 7上编译make -f makefile.win失败

时间:2015-05-28 15:26:44

标签: r rcpp rinside

我是一名中国学者,对通过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吗?

1 个答案:

答案 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命令通常只是一个流泪的秘诀......