Я пытаюсь использовать переплетение с Python ANACONDA 64 бит.Поскольку для переплетения требуется Python 2.7, я создал новый env, чтобы иметь возможность его импортировать, во время выполнения кода оказалось, что libpython27.a отсутствует.Таким образом, я создал эту библиотеку, т.е. сначала создал файл def, а затем библиотеку с помощью инструмента dll
C:\ProgramData\Anaconda3\envs\Python27>gendef python27.dll
C:\ProgramData\Anaconda3\envs\Python27>C:\MinGW64\bin\dlltool -v --dllname python27.dll --def python27.def --output-lib libpython27.a
создание библиотеки прошло нормально, однако во время компиляции по переплетению я получаю таблицу символов не найдена.После небольшой отладки вот код, который отвергает, жалуется, что в новом python27.def нет файла символов
File "C:\ProgramData\Anaconda3\envs\Python27\lib\site-packages\numpy\distutils\mingw32ccompiler.py", line 302, in generate_def
raise ValueError("Symbol table not found")
ValueError: Symbol table not found
def dump_table(dll):
st = subprocess.Popen(["objdump.exe", "-p", dll], stdout=subprocess.PIPE)
return st.stdout.readlines()
def generate_def(dll, dfile):
"""Given a dll file location, get all its exported symbols and dump them
into the given def file.
The .def file will be overwritten"""
dump = dump_table(dll)
for i in range(len(dump)):
if _START.match(dump[i].decode()):
break
else:
raise ValueError("Symbol table not found")
Есть идеи, что это может быть ??