OSX 10.9.1의 명령 줄 도구로 최근 C++ 11 및 Xcode 5로 이동하고 Homebrew를 사용하여 부스트 1.55를 설치하고 컴파일러를 변경했습니다. g ++에서 clang ++ (이 게시물에 언급 된대로 : Error when with Xcode 5.0 and Rcpp). R에서 실행될 때 컴파일러는 고정 Rcpp를 변경합니다.하지만 RInside 예제를 컴파일하는 데 문제가 있습니다.OS X에서 clang ++을 사용하여 빌드 예제를 빌드합니다. Mavericks가 링크시 STL 표준 라이브러리를 찾을 수 없습니다.
RInside를 다시 다운로드하고 tar의 압축을 풀고 examples/standard 디렉토리로 이동하여 make clean
및 make all
을 작성했습니다. 모든 STL이이 디렉토리에서 연결되지 않은 것 같습니다. Makefile의 적절한 STL에 RInside 링크를 만드는 방법은 무엇입니까?
Netbeans의 STL을 별도의 프로젝트에서 사용하고 clang ++을 사용하는 건물이 거기에서 작동합니다. 그러나 Netbeans에서 RInside 프로젝트를 시도 할 때 동일한 문제가 발생합니다 : Undefined symbols for architecture x86_64
. 64 비트 버전의 STL이나 RInside를 어디에서 다운로드해야합니까?
아직 어딘가에서 설정을 변경하거나 변경해야 할 필요가 있습니까? 잘못된 패키지를 다운로드 했습니까? 예를 들어 변경해야 할 예제가있는 Makefile의 설정입니까?
clang++ -I/Library/Frameworks/R.framework/Resources/include -I/Library/Frameworks/R.framework/Versions/3.0/Resources/library/Rcpp/include -I/Library/Frameworks/R.framework/Versions/3.0/Resources/library/RInside/include -mtune=native -g -O2 -Wall -pedantic -Wconversion -Wall -I/usr/local/include rinside_callbacks0.cpp -F/Library/Frameworks/R.framework/.. -framework R -L/Library/Frameworks/R.framework/Resources/lib -lRblas -L/Library/Frameworks/R.framework/Resources/lib -lRlapack /Library/Frameworks/R.framework/Versions/3.0/Resources/library/Rcpp/lib/libRcpp.a /Library/Frameworks/R.framework/Versions/3.0/Resources/library/RInside/lib/libRInside.a -o rinside_callbacks0
출력의 시작 : 여기
는make all
에서 첫 번째 전화입니다 내가 제안
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
내가 그냥 Rcpp11 프로젝트가났습니다. 이것은 Rcpp와 RInside가 C++ 11과 잘 작동하지 않는다는 것을 의미합니까?Netbeans에서'--std = C++ 98'을 설정할 때도 같은 오류가 발생합니다. Xcode를 다운 그레이드하려고합니다. –
아니요. Rcpp는 R 3.1.0이 릴리스 C + 11을 사용할 때까지 CRAN이이를 허용하지 않기 때문에/할 수 없습니다. 그래서 Rcpp에서 우리의 그것을 사용하는 것은 전적으로 옵션입니다 - 그러나 Rcpp 갤러리에서 Rcpp와 C++ 11의 게시물 몇 개를 봅니다 (http://gallery.rcpp.org/tags/c++11 /). 우리는 심지어 C++ 11을 요구에 따라 돌릴 수있는 속성을 가지고 있습니다. C++ 11 코드를 CRAN에 아직 업로드하지 마십시오. –