Я пытаюсь создать привязки Python для некоторого кода на C++ с помощью SWIG.Ошибка: неизвестный тип файла .hpp 'в модуле расширения distutils
Он создал несколько файлов blah_wrap.cxx
и blah.py
.
Затем я создал этот setup.py
from distutils.core import setup, Extension
ext = Extension('_ev3',
sources=[
'ev3_serial_wrap.cxx',
'ev3_serial.hpp'
'ev3_motor_wrap.cxx',
'ev3_motor.hpp'
'ev3_i2c_wrap.cxx',
'ev3_i2c.hpp'
'ev3_analog_wrap.cxx',
'ev3_analog.hpp'
],
language='c++',
)
setup (name = 'evpy',
version = '0.1',
author = "Pepijn de Vos",
description = """
An EV3 API.
""",
ext_modules = [ext],
packages=['evpy'],
)
Но тогда я получаю
$ python3 setup.py build
running build
running build_py
running build_ext
building '_ev3' extension
error: unknown file type '.hpp' (from 'ev3_analog.hpp')
.hpp
является довольно стандартным C++ расширения прав? Почему не .cpp
? Я не знаю, автор исходного кода поставил реализацию в своих заголовочных файлах.
'distutils' будет использовать SWIG для создания' _wrap.cxx' при использовании команды 'питон setup.py build_ext'. Я не думаю, что необходимо включать файлы '_wrap.cxx' в ваш список' sources', но это, вероятно, не является источником ошибки –