Я пытаюсь начать свой путь к созданию расширения Python с помощью SWIG, но сразу нахожу одну ошибку. Наверное, решение очень простое, но я пока не нашел.
Я хотел бы обернуть простую функцию 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 отсутствует.






У меня понял проблема. Строка библиотеки в sample.I не нужна. Проблема решена.
Сделайте минимальный воспроизводимый пример. Вы создали sample.lib?