gcc 在Windows上使用RTools安装程序包时出现问题

igetnqfo  于 2022-11-12  发布在  Windows
关注(0)|答案(1)|浏览(353)

我试图在我的RStudio版本“Spotted Wakerobin”中安装来自CRAN的减价包,该版本使用R版本4.2.1,但我收到以下错误:

C:\rtools42\usr\bin\gcc  -I"C:/PROGRA~1/R/R-42~1.1/include" -DNDEBUG     -I"C:/rtools42/x86_64-w64-mingw32.static.posix/include"     -O2 -Wall  -std=gnu99 -mfpmath=sse -msse2 -mstackrealign  -c Rbase64.c -o Rbase64.o
/bin/sh: line 1: C:rtools42usrbingcc: command not found
make: *** [C:/PROGRA~1/R/R-42~1.1/etc/x64/Makeconf:253: Rbase64.o] Error 127
ERROR: compilation failed for package 'markdown'
* removing 'C:/Program Files/RPackages/markdown'
Warning in install.packages :
  installation of package ‘markdown’ had non-zero exit status

看起来它找不到应该在那里的东西,这可能与gcc有关。这是我的gcc版本信息:

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=c:/rtools42/x86_64-w64-mingw32.static.posix/bin/../libexec/gcc/x86_64-w64-mingw32.static.posix/10.4.0/lto-wrapper.exe
Target: x86_64-w64-mingw32.static.posix
Configured with: /root/mxe/tmp-gcc-host-x86_64-w64-mingw32.static.posix/gcc-10.4.0/configure --host=x86_64-w64-mingw32.static.posix --target=x86_64-w64-mingw32.static.posix --build=x86_64-pc-linux-gnu --prefix=/usr/lib/mxe/usr/x86_64-w64-mingw32.static.posix --with-native-system-header-dir=/usr/lib/mxe/usr/x86_64-w64-mingw32.static.posix/include --enable-languages=c,c++,objc,fortran --enable-version-specific-runtime-libs --with-gcc --with-gnu-ld --with-gnu-as --disable-nls --without-libiconv-prefix --disable-shared --disable-multilib --without-x --disable-win32-registry --enable-threads=posix --enable-libgomp --with-gmp=/usr/lib/mxe/usr/x86_64-w64-mingw32.static.posix --with-isl=/usr/lib/mxe/usr/x86_64-w64-mingw32.static.posix --with-mpc=/usr/lib/mxe/usr/x86_64-w64-mingw32.static.posix --with-mpfr=/usr/lib/mxe/usr/x86_64-w64-mingw32.static.posix --enable-libstdcxx-time target_configargs=XCFLAGS=-Wno-format
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 10.4.0 (GCC)

我已经设置了以下环境变量:
| 变量|数值|
| - -|- -|
| 路径|C:\程序文件\R\R-4.0.5\bin; C:\rtools42\usr\bin;|
| BINPREF(二进制优先级)|C:\rtools42\x86_64-w 64-mingw32.static.posix\bin\中的文件夹中的文件夹|
| R_起始位置|C:\程式档\R\R-4.0.5\程式库\基底\R\R设定档|
| R_库_用户|C:\程序文件\R程序包|
| R_用户|C:\程序文件\R\R-4.0.5|
| RTOOLS 42_主页|C:\r工具42|
我在想下一步该怎么做?

zz2j4svz

zz2j4svz1#

从您的输出中可以清楚地看到,C:\rtools42\usr\bin\gcc将转换为C:rtools42usrbingcc
这是因为反斜杠(\)被视为转义字符。
请尝试在路径中使用斜线(/)而不是反斜线(\)。
或者,您也可以使用双反斜杠(\\),因为它指定了带有转义码的反斜杠,但我更喜欢斜杠,因为它在不处理转义字符的情况下也同样有效。

相关问题