Я пытаюсь создать некоторый код на Cython, чтобы обернуть некоторые классы, предоставляемые .dll. Каждый раз, когда я пытаюсь построить код, он не может найти заголовки моих классов.Все мои файлы находятся в одном каталоге, который включает в себя: LIB.dll LIB.lib setup.py LIB.pxd lib_wrapper.pyx
Мой файл setup.py выглядит следующим образом:
from setuptools import setup
from distutils.extension import Extension
from Cython.Build import cythonize
# from dll
ext_modules = [
Extension(
name="project",
sources=['lib_wrapper.pyx'],
language="c++",
libraries = ['LIB'],
library_dirs = [r'C:\project']
),
]
setup(
ext_modules=cythonize(ext_modules)
)
Мой .pxd:
cdef extern from "LIB.hpp":
# class details
Исходный код .dll имеет следующую структуру: LIB / include / LIB.hpp LIB / base / LIB.cpp Iя пробовал все варианты этих путей в pxd extern from path.
При сборке я получаю следующее:
python setup.py build_ext --inplace
Compiling lib_wrapper.pyx because it depends on .\LIB.pxd.
[1/1] Cythonizing lib_wrapper.pyx
C:\project\cy_env\lib\site-packages\Cython\Compiler\Main.py:369: FutureWarning: Cython directive 'language_level' not set, using 2 for
now (Py2). This will change in a later release! File:
C:\project\lib_wrapper.pyx tree = Parsing.p_module(s, pxd,
full_module_name)
running build_ext
building 'project' extension
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\project\cy_env\include -IC:\Users\user\AppData\Local\Programs\Python\Python35\include -IC:\Users\user\AppData\Local\Programs\Python\Python35\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE"
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt"
"-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um"
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared"
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um"
"-IC:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt"
-IC:\local\boost_1_69_0_vc141 /EHsc /Tplib_wrapper.cpp /Fobuild\temp.win-amd64-3.5\Release\lib_wrapper.obj
lib_wrapper.cpp
lib_wrapper.cpp(634): fatal error C1083: Cannot open include file: 'LIB.hpp': No such file or directory
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit status 2 ```