2016-08-14 2 views
-1

Ich versuche RcppGSL zu installieren, wie inRcppGSL Windows-Installation Probleme

präsentierte

Linking GSL library to RcppGSL on Windows machine

nach der Bibliothek ausklinken, wie in dem obigen Link zu C dargestellt:/local323 und bewegt alle Dateien in x64 up ein Verzeichnis in LIB_GSL/lib wie im Link dargestellt. Ich habe den folgenden Code verwendet.

library(Rcpp) 
Sys.setenv("LIB_GSL" = "C:/local323") # this is where the library is located 
Sys.setenv("PKG_LIBS"="-L(LIB_GSL)/lib -lgsl -lgslcblas") 
install.packages("RcppGSL") 

Ich habe die Linie

Sys.setenv("PKG_LIBS"="-L(LIB_GSL)/lib -lgsl -lgslcblas") 

nach den folgenden Fehler bekommen (und ich habe immer noch die gleichen Fehler) nach einigen Forschung und dachte, es könnte ein Problem Verknüpfung (nur raten) sein.

Der Fehler war ich erhielt

RcppExports.o:RcppExports.cpp:(.text+0x916): undefined reference to `gsl_matrix_alloc' 
RcppExports.o:RcppExports.cpp:(.text+0x945): undefined reference to `gsl_matrix_set' 
RcppExports.o:RcppExports.cpp:(.text+0x993): undefined reference to `gsl_vector_calloc' 
fastLm.o:fastLm.cpp:(.text+0x122): undefined reference to `gsl_vector_calloc' 
fastLm.o:fastLm.cpp:(.text+0x131): undefined reference to `gsl_matrix_alloc' 
fastLm.o:fastLm.cpp:(.text+0x142): undefined reference to `gsl_multifit_linear_alloc' 
fastLm.o:fastLm.cpp:(.text+0x16d): undefined reference to `gsl_multifit_linear' 
fastLm.o:fastLm.cpp:(.text+0x175): undefined reference to `gsl_multifit_linear_free' 
fastLm.o:fastLm.cpp:(.text+0x24f): undefined reference to `gsl_matrix_diagonal' 
setErrorHandler.o:setErrorHandler.cpp:(.text+0x104): undefined reference to `gsl_set_error_handler_off' 
setErrorHandler.o:setErrorHandler.cpp:(.text+0x133): undefined reference to `gsl_set_error_handler' 

jede Hilfe ist sehr zu schätzen!

Very best,

Steve

+0

Mögliche Duplikate von [Was ist ein nicht definierter Verweis/ungelöster externer Symbolfehler und wie behebe ich ihn?] (Http://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved- external-symbol-error-and-how-do-i-fix) –

Antwort

1

Ich würde versuchen, dies auf der Kommandozeile, also in cmd.exe - nicht von R.

diese Weise können Sie die Zusammenstellung und Verknüpfung Schritte sehen sollte die kann helfen, wenn etwas nach Süden geht.

"Es baut bei CRAN ..." also mit den richtigen Dateien an der richtigen Stelle, und die richtige env var sollte es auch für Sie einstellen.

+0

Das mag offensichtlich sein, aber ich komme von R nach C++. Wie würde ich von der Befehlszeile aus ein Beispiel erstellen? – steve3051980

+0

In 'cmd.exe' (oder einer anderen Shell, wenn Sie bevorzugen), stellen Sie sicher,' R' ist in der 'PATH' und dann' R CMD INSTALL directoryBelowYou' etc. Siehe [Schreiben von R-Erweiterungen] (https: // cran. r-project.org/doc/manuals/r-release/R-exts.html) und viele Tutorials. –

1

Nun, ich weiß nicht, warum die gearbeitet folgenden, aber ich bin in der Lage RcppGSL verwendet

ich das Verfahren aus dem Link folgte ich genau geschrieben. Dann anstelle der Verwendung

install.packages("RcppGSL") 

Ich habe die Zip-Datei von CRAN und installiert das Paket über das R-GUI mit der Option von einem Reißverschluss zu installieren. Diese sollten identisch sein, aber ich benutze install.packages ("RcppGSL").

Auch

Sys.setenv("LIB_GSL" = "C:/local323")

zu jeder Zeit erforderlich ist, ich versuche, eine RCPP Datei zu kompilieren, die die Bibliothek nutzt.

Ich bin mir nicht sicher warum, aber ich kann die Bibliothek zumindest verwenden.

Dirk danke für Ihre Hilfe. Ich werde das Tutorial über R-Erweiterungen durchgehen, um zu sehen, ob ich herausfinden kann, was vor sich geht.