우분투 패키지의 표준 예제와 함께 RInside를 사용하려고합니다. 방금 설치 한 후 RInside 소스에서 make 명령을 사용했습니다.Linux에서 RInside 예제를 컴파일하지 못했습니다.
내 OS에 대한 정보 : gcc 버전 4.8.2 (Ubuntu 4.8.2-19ubuntu1), GNU Make 3.81, R 버전 3.0.2 (2013-09-25), RInside 0.2.11 및 Ubuntu 14.04.
다음은 컴파일 오류입니다. 누구든지 나를 도울 수 있습니까? :)
g++ -I/usr/share/R/include -I/usr/local/lib/R/site-library/Rcpp/include -I/usr/local/lib/R/site-library/RInside/include -O3 -pipe -g -Wall rinside_module_sample0.cpp -L/usr/lib/R/lib -lR -lblas -llapack -L/usr/local/lib/R/site-library/RInside/lib -lRInside -Wl,-rpath,/usr/local/lib/R/site-library/RInside/lib -o rinside_module_sample0
In file included from /usr/local/lib/R/site-library/Rcpp/include/Rcpp.h:64:0,
from /usr/local/lib/R/site-library/RInside/include/RInsideCommon.h:38,
from /usr/local/lib/R/site-library/RInside/include/RInside.h:26,
from rinside_module_sample0.cpp:7:
rinside_module_sample0.cpp: In function ‘int main(int, char**)’:
/usr/local/lib/R/site-library/Rcpp/include/Rcpp/Module.h:451:5: error: ‘Shield’ was not declared in this scope
Shield<SEXP> __load_module_call__(Rf_lang2(GET_MODULE_SYM, _rcpp_module_boot_##NAME()); \
^
rinside_module_sample0.cpp:27:18: note: in expansion of macro ‘LOAD_RCPP_MODULE’
R["bling"] = LOAD_RCPP_MODULE(bling) ;
^
/usr/local/lib/R/site-library/Rcpp/include/Rcpp/Module.h:451:5: note: suggested alternative:
Shield<SEXP> __load_module_call__(Rf_lang2(GET_MODULE_SYM, _rcpp_module_boot_##NAME()); \
^
rinside_module_sample0.cpp:27:18: note: in expansion of macro ‘LOAD_RCPP_MODULE’
R["bling"] = LOAD_RCPP_MODULE(bling) ;
^
In file included from /usr/local/lib/R/site-library/Rcpp/include/Rcpp/protection/protection.h:21:0,
from /usr/local/lib/R/site-library/Rcpp/include/RcppCommon.h:129,
from /usr/local/lib/R/site-library/Rcpp/include/Rcpp.h:27,
from /usr/local/lib/R/site-library/RInside/include/RInsideCommon.h:38,
from /usr/local/lib/R/site-library/RInside/include/RInside.h:26,
from rinside_module_sample0.cpp:7:
/usr/local/lib/R/site-library/Rcpp/include/Rcpp/protection/Shield.h:29:11: note: ‘Rcpp::Shield’
class Shield{
^
In file included from /usr/local/lib/R/site-library/Rcpp/include/Rcpp.h:64:0,
from /usr/local/lib/R/site-library/RInside/include/RInsideCommon.h:38,
from /usr/local/lib/R/site-library/RInside/include/RInside.h:26,
from rinside_module_sample0.cpp:7:
/usr/local/lib/R/site-library/Rcpp/include/Rcpp/Module.h:451:16: error: expected primary-expression before ‘>’ token
Shield<SEXP> __load_module_call__(Rf_lang2(GET_MODULE_SYM, _rcpp_module_boot_##NAME()); \
^
rinside_module_sample0.cpp:27:18: note: in expansion of macro ‘LOAD_RCPP_MODULE’
R["bling"] = LOAD_RCPP_MODULE(bling) ;
^
/usr/local/lib/R/site-library/Rcpp/include/Rcpp/Module.h:451:94: error: expected ‘)’ before ‘;’ token
Shield<SEXP> __load_module_call__(Rf_lang2(GET_MODULE_SYM, _rcpp_module_boot_##NAME()); \
^
rinside_module_sample0.cpp:27:18: note: in expansion of macro ‘LOAD_RCPP_MODULE’
R["bling"] = LOAD_RCPP_MODULE(bling) ;
^
/usr/local/lib/R/site-library/Rcpp/include/Rcpp/Module.h:452:13: error: ‘__load_module_call__’ was not declared in this scope
Rf_eval(__load_module_call__), R_GlobalEnv);
^
rinside_module_sample0.cpp:27:18: note: in expansion of macro ‘LOAD_RCPP_MODULE’
R["bling"] = LOAD_RCPP_MODULE(bling) ;
^
/usr/local/lib/R/site-library/Rcpp/include/Rcpp/Module.h:452:48: error: expected ‘;’ before ‘)’ token
Rf_eval(__load_module_call__), R_GlobalEnv);
^
rinside_module_sample0.cpp:27:18: note: in expansion of macro ‘LOAD_RCPP_MODULE’
R["bling"] = LOAD_RCPP_MODULE(bling) ;
^
make: *** [rinside_module_sample0] Error 1
컴파일 오류 덤프보다 더 많은 정보를 제공해야합니다. RInside와 Ununtu의 어떤 버전을 사용하고 있습니까? Make와 GCC의 어떤 버전을 사용하고 있습니까? 여기에 오기 전에 실패한 컴파일을 수정하기 위해 어떤 조치를 취했습니까? 그 단계의 결과는 무엇입니까? – skrrgwasme
답변 해 주셔서 감사합니다. 나는 비교적 새로운 프로그래밍에 익숙하다. 나는 그 질문을 잘못된 방식으로 묻는다고 생각한다. 내 OS에 관한 정보 : gcc 버전 4.8.2 (Ubuntu 4.8.2-19ubuntu1), GNU Make 3.81, R 버전 3.0.2 (2013-09-25), RInside 0.2.11 및 Ubuntu 14.04. 나는 단지 설치하고 여러 번 RIside 패키지를 제거했습니다. 나는 또한 그것들을 다른 경로에 넣으려고했다. 그러나 그것은 효과가 없었습니다. 프로그래밍에 관한 나의 제한된 지식 때문에 나는 지금 무엇을 해야할지 정말로 모른다. 희망이 시간은 내 질문에 더 나은 aked – winedate
그건 꽤 과도한 downvoting입니다. 그것은 공정한 질문이며 합리적으로 명확하게 게시됩니다. –