1

我正在做 Hadley Wickhams basic Rcpp Tutorial,第一行代码让我很难过:

> library(Rcpp)
> cppFunction('
+   int add(int x, int y, int z) {
+             int sum = x + y + z;
+             return sum;
+             }'
+ )
g++ -m64 -I"C:/R/R-30~1.1/include" -DNDEBUG     -I"C:/Users/Michael/R/win-library/Rcpp/include"  -I"d:/RCompile/CRANpkg/extralibs64/local/include"     -O2 -Wall  -mtune=core2 -c file1dc033292fcb.cpp -o file1dc033292fcb.o make: sh.exe: Command not found make: *** [file1dc033292fcb.o] Error 127 
Error in sourceCpp(code = code, env = env, rebuild = rebuild, showOutput = showOutput,  : 
  Error 1 occurred building shared library.

两者makesh.exe在我的路径中,我可以从命令提示符中使用它们。我什至可以sh从命令提示符调用并make在该子进程中使用。我使用的是 64 位的 Windows 7。

我自己的路:

C:\cygwin\bin;C:\Program Files\Java\jdk1.7.0_21\bin;C:\R\R-3.0.1\bin;C:\Rtools\bin;C:\Rtools\gcc-4.6.3\bin;C:\Rtools\gcc-4.6.3\bin64;C:\Rtools\gcc-4.6.3\i686-w64-mingw32\bin;C:\Program Files (x86)\Git\bin;C:\Program Files\MiKTeX 2.9\miktex\bin\x64;C:\Rtools\gcc-4.6.3\bin

我在 Path 变量中没有任何需要查找的空格。

4

1 回答 1

2

不要将 Cygwin(我们都喜欢bash)用于 R 构建,或者如果必须,请确保Rtools路径条目位于第一位。

由于您无法在没有 Rtools(基于 MinGW)的情况下在 Windows 上构建 R,因此我经常使用 MSys 对其进行补充。

于 2013-08-07T18:45:38.010 回答