Tun Sie eine SWIG tutorial, und verwenden Sie die example.c, beispiel.i, wie sie dort zur Verfügung gestellt. Ich habe eine Lisp-Datei mit swig -cffi example.i
generiert.CL und SWIG: Arbeitsbeispiel?
Aber wenn ich test.lisp
mit SBCL laufen, bekomme ich eine Beschwerde über undefined Alien-Funktion, sowie Beschwerden bei der Erstellung der example.lisp
selbst. Ich bin mir ziemlich sicher, dass ich meine example.c noch in eine Bibliothek kompilieren muss und SBCL dann irgendwie anweisen muss, sie zu laden! Aber die Dokumente sind sehr spärlich, außer für this.
Kann mir jemand sagen, wie man das macht oder gibt es einen besseren Weg als SWIG, CFFI-Bindungen automatisch aus C/C++ - Quellen zu generieren?
sbcl Ausgang:
...
;
; caught STYLE-WARNING:
; Undefined alien: "fact"
;
; compilation unit finished
; caught 1 STYLE-WARNING condition
;
; caught STYLE-WARNING:
; Undefined alien: "my_mod"
...
test.lisp
;call C functions defined in example.c
(require :cffi)
;;;(require :example "example.lisp")
(load "example.lisp")
(fact 2)
(quit)
schön. musste auch LD_LIBRARY_PATH setzen, damit mein libexample.so gefunden werden kann. Vielleicht möchten Sie dies zu Ihrer Antwort hinzufügen. –