Ich möchte eine dynamische dll-Bibliothek aus einem C-Quellcode erstellen, damit ich sie in R laden und verwenden kann. Ich verwende jetzt
%Vor%in der Windows 7-Befehlszeile. Aber nichts ist passiert. Es gibt keine Fehlermeldung, aber keine DLL-Datei wurde erstellt.
Was stimmt nicht mit dem, was ich getan habe? Danke.
Es tut mir leid, wenn meine Frage nicht klar ist. Aber ich habe herausgefunden, wie man Dinge zum Laufen bringt und mögliche Fehler macht. Hoffentlich wird es für jemanden nützlich sein. Hier sind die Schritte:
Geben Sie im Windows-Befehlsfenster
einR CMD SHLIB foo.c
Dann sollten Sie eine foo.dll-Datei haben, dann können Sie es in R aufrufen. Beachten Sie, dass die foo.dll, die unter 64Bits R erstellt wurde, nur in 64Bits R geladen werden kann. Wenn Sie versuchen, 32Bits R zu laden, erhalten Sie Fehlermeldungen.
Was genau meinst du mit "nichts ist passiert"? Ist R auf deinem Weg?
Was zeigt R --version
? Wie wäre es mit R CMD config CC
und R CMD config CFLAGS
?
Schließlich, wenn Sie Rcpp installiert hatten (und Ihre Toolchain war korrekt, einschließlich PATH-Einstellungen und den ganzen Rest), könnten Sie Dinge on the fly a la tun
%Vor% Hier haben wir cppFunction()
(und eine Menge Tricks in Rcpp) zum Kompilieren, Verknüpfen und Laden verwendet
eine einfache (und ziemlich nutzlose ...) C (++) Funktion, die eine Quadratwurzel nimmt.