2016-08-23 2 views
5

내 특정 문제와 관련하여 SO의 기존 항목을 참조했지만 여전히 해결할 수 없었습니다.Rcpp Rtools가 설치되었지만 오류 메시지 g ++을 찾을 수 없음

관리자 권한이 제한되어있는 회사의 컴퓨터에서이 작업을 시도하고 있지만 Rtools.exe를 실행할 수 있으므로 설치했습니다.

R에 대한 나의 설정은 다음과 같습니다

platform  x86_64-w64-mingw32   
arch   x86_64      
os    mingw32      
system   x86_64, mingw32    
version.string R version 3.3.0 (2016-05-03) 

나는 RStudion 버전 0.99.902입니다. Rtools 버전 3.3.0.1959를 설치했습니다.

R, Rstudio 및 Rtools는 모두 제한된 관리자 권한이있는 C :/WORK /에 설치됩니다. 내 시스템 ENV 변수에

는, 내가 설정 한 : 나는

system('g++ -v') 
을 실행하면

C:\\WORK\\Rtools\\bin; C:\\WORK\\Rtools\\gcc- 4.6.3\\bin; C:\\WORK\\R-3.3.0\\bin\\x64;" 

내가

C:\WORK\Rtools\bin\make.exe 

system('where make') 

를 얻을 내가 실행할 때

내가 얻을 :

Error in compileCode(f, code, language = language, verbose = verbose) : 
Compilation ERROR, function(s)/method(s) not created! 
c:/Rtools/mingw_64/bin/g++: not found 

내 질문은 : 왜 R 여전히 g ++를 찾고 있습니다

c:/Rtools/mingw_64/bin/g++ 

셨습니까

에서

Using built-in specs. 
COLLECT_GCC=C:\WORK\Rtools\GCC-46~1.3\bin\G__~1.EXE 
COLLECT_LTO_WRAPPER=c:/WORK/rtools/gcc-46~1.3/bin/../libexec/gcc/i686-w64- mingw32/4.6.3/lto-wrapper.exe 
Target: i686-w64-mingw32 
Configured with: /data/gannet/ripley/Sources/mingw-test3/src/gcc/configure --host=i686-w64-mingw32 --build=x86_64-linux-gnu --target=i686-w64-mingw32 --with-sysroot=/data/gannet/ripley/Sources/mingw-test3/mingw32mingw32/mingw32 --prefix=/data/gannet/ripley/Sources/mingw-test3/mingw32mingw32/mingw32 --with-gmp=/data/gannet/ripley/Sources/mingw-test3/mingw32mingw32/prereq_install --with-mpfr=/data/gannet/ripley/Sources/mingw-test3/mingw32mingw32/prereq_install --with-mpc=/data/gannet/ripley/Sources/mingw-test3/mingw32mingw32/prereq_install --disable-shared --enable-static --enable-targets=all --enable-languages=c,c++,fortran --enable-libgomp --enable-sjlj-exceptions --enable-fully-dynamic-string --disable-nls --disable-werror --enable-checking=release --disable-win32-registry --disable-rpath --disable-werror CFLAGS='-O2 -mtune=core2 -fomit-frame-pointer' LDFLAGS= 
Thread model: win32 
gcc version 4.6.3 20111208 (prerelease) (GCC) 

내가 컴파일 할 때, 나는이 오류 나는 그것을 찾기 위해 이미 R을 설정했다.

C:/WORK/Rtools? 

내가 수동으로 난 여전히 같은 오류가 발생했습니다는 ENV 변수에

c:/WORK/Rtools/mingw_64/bin/g++ 

을 추가 한 경우에도. (Ct :/관리자 권한으로 인해 Rtools 폴더를 만들 수 없습니다.)

누구든지이 특정 문제에 부딪 혔습니까?

+0

Sys.getenv() [ 'PATH']는'C : \ WORK \ R-3.3.0 \ bin \ x64;를 제공합니다. C : \ WORK \ Rtools \ bin; C : \ WORK \ Rtools \ mingw_64 \ bin; C : \ WORK \ Rtools \ bin; C : \ WORK \ Rtools \ mingw_32 \ bin; C : \ WORK \ R-3.3.0 \ bin \ x64; C : \ WINDOWS \ system32; C : \ WINDOWS; C : \ WINDOWS \ System32 \ Wbem; C : \ Program Files (x86) \ Microsoft Office \ Office14; C : \ WINDOWS \ System32 \ WindowsPowerShell \ v1.0 \; Sys.getenv() [ 'PATH'] C : \ APPS \ Global \ dev_tools, C : \ Program Files (x86) \ Enterprise Vault \ EVClient \; C : \ WORK \ TortoiseSVN \ bin; C : \ WORK \ Rtools \ bin; C : \ WORK \ Rtools \ mingw_64 \ bin; C : \ WORK \ R-3.3.0 \ bin \ x64' – David

답변

1

RTools 34 및 에 있어야 할 필요가있는 일은 R 3.3.x의 경우 33입니다.

설치 rtools를 제거하고 여기에 가이드를 따르

http://thecoatlessprofessor.com/programming/rcpp/install-rtools-for-rcpp/

@ 데이비드, 당신은 C:\WORK\Rtools\<something>의 모든 인스턴스 및 중복 제거해야합니다 (예 : C:\WORK\R-3.3.0\bin\x64가 나타납니다 두 번.) 그런 다음 추가

c:\WORK\Rtools\bin; c:\WORK\Rtools\mingw_32\bin;

+0

https://cran.r-project.org/bin/windows/Rtools/ 페이지는 Rtools3.3에서 R 3.2. * 및 R 3.3을 언급합니다. *, R 3.3. * 이상에서는 Rtools3.4 이상으로 선택을 의미합니다. OP가 'PATH'문제가있을 수 있습니까? –

+0

Rtools33을 제거하고 Rtools34를 설치했습니다. 여전히 컴파일 오류, 함수/메소드가 생성되지 않았습니다! c :/Rtools/mingw_64/bin/g ++ : 찾을 수 없습니다. "라는 동일한 오류 메시지가 나타납니다. 나는 ENV 변수의 PATH에 경로를 추가 했는데도 R이 "Rtools/mingw_64/bin"을 찾지 못한다. – David

+0

위의 게시물을 위의 게시물에 추가하십시오. 'Sys.getenv() [ 'PATH'] ' – coatless

5

경로 c:/Rtools/mingw_64/bin/ 하드 코드 (내 경우 C:\Progs\R\R-3.4.1\etc\x64 단위) R 설치 어딘가에있는 파일 Makeconf로,있는 그대로 변수 BINPREF의 값

가장 쉬운 방법은 경로를 C:/WORK/Rtools/bin (내 경우는 C:/Progs/RTools/3.4/mingw_64/bin/)으로 변경하는 것입니다. R-3.4.1과 Rtools3.4를 새로 설치하고 최소한의 예제로 저에게 도움이되었습니다.

+2

Rtools를 업데이트 할 때'Makeconf' 파일을 수정해야합니다. – user3226167

관련 문제