2015-03-31 3 views
1

Я привык к R, но я полный новичок на C++. Мне сложно установить GSL, чтобы использовать его с RcppGSL в R, чтобы уточнить пакет, содержащий код на C++. Я загрузил последнюю версию GSL, распаковал ее до C:/GSL, установил переменную окружения LIB_GSL на C:/GSL и PATH на C:/GSL/bin.RccpGSL, установка/использование GSL из R на windows 7

Как я уже сказал, я хочу уточнить существующий пакет. Я разветвил и вытащил последнюю версию рассматриваемого пакета из github. Моя основная цель - просто использовать и совершенствовать пакет. Однако, когда я пытаюсь сделать пакет исходных текстов из исходных файлов я получаю следующую ошибку:

Installing to library 'C:/Users/Simon/Documents/R/win-library/3.1' 
* installing *source* package 'Rflim' ... 
** libs 
g++ -m64 -I"C:/PROGRA~1/R/R-31~1.2/include" -DNDEBUG -I"C:/Users/Simon/Documents/R/win-library/3.1/Rcpp/include" -I"d:/RCompile/CRANpkg/extralibs64/local/include" -IC:/Users/Simon/Documents/R/win-library/3.1/Rcpp/include -I/usr/local/include -I C:/Users/Simon/Documents/R/win-library/3.1/RcppGSL/include -O2 -Wall -mtune=core2 -c flim.cpp -o flim.o 
In file included from C:/Users/Simon/Documents/R/win-library/3.1/RcppGSL/include/RcppGSL.h:23:0, 
       from flim.cpp:1: 
C:/Users/Simon/Documents/R/win-library/3.1/RcppGSL/include/RcppGSLForward.h:26:29: fatal error: gsl/gsl_vector.h: No such file or directory 
compilation terminated. 
make: *** [flim.o] Error 1 
Warnung: Ausf�hrung von Kommando 'make -f "Makevars" -f "C:/PROGRA~1/R/R-31~1.2/etc/x64/Makeconf" -f "C:/PROGRA~1/R/R-31~1.2/share/make/winshlib.mk" SHLIB_LDFLAGS='$(SHLIB_CXXLDFLAGS)' SHLIB_LD='$(SHLIB_CXXLD)' SHLIB="Rflim.dll" WIN=64 TCLBIN=64 OBJECTS="flim.o"' ergab Status 2 
ERROR: compilation failed for package 'Rflim' 
* removing 'C:/Users/Simon/Documents/R/win-library/3.1/Rflim' 

Exited with status 1. 

К сожалению, есть несколько немецких слов там: Warnung: Ausfhrung фон Kommando == Предупреждение: команда выполнения

Я понимаю, что R пытается получить доступ к библиотеке GSL по пути RcppGSL. Это верно? Не следует ли переходить непосредственно к C:/GSL? Я также понял, что R пытается идти по пути как из Rcpp, так и из RcppGSL, и я не понимаю, почему ...

Я был бы признателен за любые разъяснения или предложения по решению проблемы.

спасибо !!!

+0

sry .. должен был прочитать сообщение об ошибке. –

+0

Можете ли вы найти файлы заголовков gsl (например, gsl_vector.h) в вашей системе? –

+0

Да, они есть здесь: C: \ GSL \ include \ gsl –

ответ

2

Пожалуйста, установите prebuild GSL версию для R на Windows, от support site provided by Prof Ripley, а затем установить эти значения соответственно в src/Makevars.win

## This assumes that the LIB_GSL variable points to working GSL libraries 
PKG_CPPFLAGS=-I$(LIB_GSL)/include -I../inst/include 
PKG_LIBS=-L$(LIB_GSL)/lib -lgsl -lgslcblas 

либо непосредственно, либо установить LIB_GSL соответственно.

Вот как CRAN строит пакет, и он, очевидно, работает.

+0

Большое вам спасибо за ответ. Я не сомневаюсь, что это способ сделать это, но как новичок я все еще не уверен, как правильно использовать файл makevars. Однако вначале нет файла makevars.win в src. только makevars file tpe "saver box" –

+0

С ручкой Dirk мне удалось установить GSL. Работает RcppGSLпример. Хитрость заключалась в том, чтобы скопировать все файлы с C:/local320/lib/x64 в C:/local320/lib. Остальное похоже на Дирка. –

+0

Пакет, который я пытался установить, как упоминалось в исходном вопросе, по-прежнему не работает. Но это, похоже, не проблема GSL ....? –

Смежные вопросы