Python — Cython — setup.py для c ++ файла с зависимостями

У меня есть код C ++, который я хотел бы вызвать из Python. До сих пор у меня был весь мой код C ++ в одном файле и был один .pyx файл, соответствующий этому коду. Так скажем, мой файл C ++ test_A.cpp выглядит так

struct test{
float x;
}

и в моем test_A.pyx файл у меня есть

cdef extern from "test_A.cpp"cdef cppstruct test:
float x

и мой setup.py файл выглядит как

from distutils.core import setup
from distutils.extension import Extension
from Cython.Build import cythonize

extensions = [Extension("test_A", ["test_A.pyx"],
include_dirs=[np.get_include()],
extra_compile_args=["-std=c++11"],
extra_link_args=[],
language="c++")]

setup(ext_modules = cythonize(extensions))

Это работает как надо, но теперь я хочу разделить свой файл для лучшей читабельности и не могу понять, как скомпилировать код. Скажи теперь у меня второй файл test_B.cpp что я включаю в test_A.cpp

#include "test_B.h"
struct test{
test x;
test_B y;
}

как мне теперь изменить мой setup.py файл такой, что компилируется test_A.cpp но потом также компилирует и ссылки test_B.cpp и все функции, вызываемые из test_a.cpp? Должен ли я написать второй .pyx файл для test_B.cpp?

Спасибо

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]