【发布时间】:2013-03-12 04:14:57
【问题描述】:
做一个SWIG tutorial,并使用他们在那里提供的example.c、example.i。我用swig -cffi example.i 生成了lisp 文件。
但是当我使用 SBCL 运行 test.lisp 时,我收到关于 undefined alien 函数的抱怨,以及编译 example.lisp 本身时的抱怨。我很确定我仍然需要将我的 example.c 编译到一个库中,然后以某种方式告诉 SBCL 加载它!但是除了this 之外,文档对此非常缺乏。
有人能告诉我怎么做吗?或者有没有比 SWIG 更好的方法来自动从 C/C++ 源生成 CFFI 绑定?
sbcl 输出:
...
;
; 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)
【问题讨论】:
标签: common-lisp swig sbcl