我试图开始用SWIG构建Python扩展的旅程,但是我立即发现一个错误。解决方法可能很简单,但是我还没有找到解决方法。
我想包装一个简单的C add()函数:
/* sample.h */
extern int add(int, int);
我的sample.i文件是:
// sample.i - Swig interface
%module sample
%{
#include "sample.h"
%}
我的setup.py文件是:
# setup.py
from distutils.core import setup, Extension
setup(name='sample',
py_modules=['sample.py'],
ext_modules=[
Extension('_sample',
['sample_wrap.c'],
include_dirs = [],
define_macros = [],
undef_macros = [],
library_dirs = [],
libraries = ['sample']
)
]
)
然后我尝试通过运行以下命令来编译扩展模块:
python setup.py build_ext --inplace
但是链接器出现错误,指出缺少 sample.lib 。
答案 0 :(得分:0)
我已经了解了问题。 sample.I中的库行是不需要的。 问题解决了。