我想使用鼠尾草来运行使用自定义C库的基本Cython程序。链接到自定义C代码的Cython
我有三个文件:hello.h,hello.c和cpy.spyx。
hello.h:
#include <stdio.h>
void chello();
的hello.c:
#include "hello.h"
void chello() {
printf("Hello world\n");
}
cpy.spyx:
#cinclude /home/sage/sage
cdef extern from "/home/sage/sage/hello.h":
void chello()
def pyhello():
chello()
我试图用鼠尾草来运行这个(只)命令:
加载“cpy.spyx”
我收到以下错误:
导入错误/ home/sage/sage // temp/...:undefined symbol:chello 这是我第一次尝试Cython,所以我的代码中可能有一个愚蠢的错误。另一种理论是,.h文件没有被复制到上面的临时目录中。
感谢
你需要通过圣人的方式?这看起来像一个有效的应该编译没有问题的cython程序。 – 2011-06-15 20:37:41
由于'hw'没有在你的C代码中定义,也没有在Cython代码中引用,因此你看起来忘了重新编译一些东西。 – 2011-06-15 20:49:01
糟糕!我更改了示例的函数名称,并忘记在我的错误消息中更改它。问题依然存在,但问题现在得到纠正。 – Eric 2011-06-15 21:20:03