使用在线提供的教程:http://www.swig.org/papers/PyTutorial98/PyTutorial98.pdf
我正在尝试重新使用可用的示例,但我遇到了以下错误:
swig:无法执行二进制文件
example.c
/* example.c */
double Foo = 7.5;
int fact(int n) {
if (n <= 1) return 1;
else return n*fact(n-1);
}
example.i
// example.i
%module example
%{
#include "headers.h"
%}
int fact(int n);
double Foo;
#define SPAM 42
错误:
$swig -python example.i
swig: cannot execute binary file
任何指针?为了生成example_wrap.c文件,我怎么能克服这个错误?
chmod +x example.i
$file example.i
example.i: ASCII C++ program text
答案 0 :(得分:0)
您正在关注1998年的教程,并尝试为sparc处理器执行二进制文件。这里有点老式的东西。您可能正在尝试从存档中重新创建事物,其中有人试图记录他15年前所做的事情。
帮自己一个忙,并使用当前版本的swig和python,并从当前文档中学习http://www.swig.org/Doc3.0/Python.html#Python。 Swig已经看到了重大改进,而python在此期间也发生了重大变化。那时候c已经完美了:-)。如果你有想要在python中使用的C代码,请使用当前版本的swig和python,它会起作用。