在R4.4.2安装R包scBatch时,出现如下提示:
* installing *source* package 'scBatch' ... ** using staged installation ** libs C:/rtools44/mingw_64/bin/g++ -std=gnu++11 -I"D:/software/R-4.4.2/include" -DNDEBUG -I'D:/software/R-4.4.2/library/Rcpp/include' -I'D:/software/R-4.4.2/library/RcppArmadillo/include' -I"C:/rtools44/x86_64-w64-mingw32.static.posix/include" -fopenmp -O2 -Wall -mfpmath=sse -msse2 -mstackrealign -c RcppExports.cpp -o RcppExports.o /bin/sh: line 1: C:/rtools44/mingw_64/bin/g++: No such file or directory make: *** [D:/software/R-4.4.2/etc/x64/Makeconf:296: RcppExports.o] Error 127 ERROR: compilation failed for package 'scBatch' * removing 'D:/software/R-4.4.2/library/scBatch' Warning message: In i.p(...) : 安装程序包‘C:/Users/XXX/AppData/Local/Temp/RtmpcNIjZw/file4ba4593c70bf/scBatch_0.1.0.tar.gz’时退出狀態的值不是0
于是重新安装了rtools44,发现rtools44下确实没有这个路径以及文件:C:/rtools44/mingw_64/bin/g++
但是通过如下指令寻找g++可以知道它所在的位置:
Sys.which("gcc")
"C:\\rtools44\\X86_64~1.POS\\bin\\G__~1.EXE"
于是在windows界面可以发现C:/rtools44/mingw_64/bin中的文件可以在文件夹x86_64-w64-mingw32.static.posix中找到
于是我新建了一个文件夹C:/rtools44/mingw_64,把文件夹x86_64-w64-mingw32.static.posix中的所有内容复制粘贴到C:/rtools44/mingw_64中。
接下来便可正常安装所需的R包