2013-06-29 3 views
-1

Я использую R версию 2.15.3. Я хочу в своей библиотеке программ на C++ Rcpp.h. Как сообщить компилятору, где находится библиотека? Я использую utilyty макияж:Интеграция R и C++

CC=g++ 
    LDFLAGS=$(shell Rscript -e "Rcpp:::LdFlags()") 
    CFLAGS=$(shell Rscript -e "Rcpp:::CxxFlags()") 
    SOURCES=src/main.cpp 
    OBJECTS=$(SOURCES:.cpp=.o) 

    myrcpp : $(OBJECTS) 
     $(CC) $(OBJECTS) myrcpp 
    main.o : $(SOURCES) 
     $(CC) -o $(LDFLAGS) $(CFLAGS) $(SOURCES) 
    clean : 
     rm myrcpp $(OBJECTS) 

, но у меня есть ошибка, компилятор не найти Rcpp.h

+0

Что делает 'shell Rscript -e 'Rcpp ::: LdFlags()" и 'shell Rscript -e" Rcpp ::: CxxFlags() "' на самом деле производят? Это должно дать '-I <нечто, содержащее Rcpp.h' (наряду с, вполне возможно, некоторые другие вещи). –

+0

shell Rscript -e "Rcpp ::: LdFlags()" должен указывать: -L/usr/lib/R/site-library/Rcpp/lib -lRcpp -Wl, -rpath,/usr/lib/R/site -library/Rcpp/lib и оболочка Rscript -e "Rcpp ::: CxxFlags()": -I/usr/lib/R/site-library/Rcpp/include – Anton

ответ

1

Rcpp для встраивания C++ код в R. Если это то, что вы хотите сделать, вы можете узнать о создании пакета R, который использует Rcpp, прочитав документацию из пакета.

Если вы хотите сделать приложение C++, которое использует Rcpp, вам необходимо посмотреть RInside и его многочисленные документально подтвержденные примеры.