Не удается перекомпилировать LeapMotion для Python3 на Ma c? - PullRequest
0 голосов
/ 06 мая 2020

Я уже несколько дней пытаюсь перекомпилировать устаревший LeapMotion SDK для Python3, начиная с этого учебника .


Я пробовал:

  1. перекомпиляция с разными версиями python3
  2. с использованием предварительно скомпилированного Leap Python., Как указано в руководстве
  3. , очищение inte rnet от существующего Leap Python .so скомпилирован для любой версии python3 для загрузки или любой информации / решения, относящегося к этой ошибке
  4. клонирование каждого инструмента на github, который обещает перекомпилировать Leap Python для Python3 на Ma c

И я ничего нигде не могу найти, кажется, люди могли это делать какое-то время, но нет информации о том, почему это не работает или как это сделать сегодня?


Может ли кто-нибудь помочь мне исправить или найти обходной путь для sh этого? Я не могу использовать Python версию <3, потому что зависимости моего проекта требуют Python3, желательно самая стабильная версия. </p>

Я нас ing swig 3.0.12, clang 11.0.3 на x86_64-apple-darwin19.4.0

Это ошибка, которую я получаю на последнем шаге:

$ clang++ -arch i386 -arch x86_64 -I/Library/Frameworks/Python.framework/Versions/3.6/include/python3.6m LeapPython.cpp libLeap.dylib /Library/Frameworks/Python.framework/Versions/3.6/lib/
libpython3.6.dylib -shared -o LeapPython.so
LeapPython.cpp:6846:7: error: unknown type name 'leap_list_helper'
      leap_list_helper * temp;
      ^
LeapPython.cpp:6847:33: error: unknown type name 'leap_list_helper'
      temp  = reinterpret_cast< leap_list_helper * >(argp);
                                ^
LeapPython.cpp:6848:7: error: use of undeclared identifier 'Pointable'
      Pointable = *temp;
      ^
LeapPython.cpp:6861:47: error: use of undeclared identifier 'Pointable'
  pyobj = SWIG_NewPointerObj(SWIG_as_voidptr(&Pointable), SWIGTYPE_p_leap_list_helper,  0 );
                                              ^
LeapPython.cpp:6876:7: error: unknown type name 'leap_list_helper'
      leap_list_helper * temp;
      ^
LeapPython.cpp:6877:33: error: unknown type name 'leap_list_helper'
      temp  = reinterpret_cast< leap_list_helper * >(argp);
                                ^
LeapPython.cpp:6878:7: error: use of undeclared identifier 'Finger'
      Finger = *temp;
      ^
LeapPython.cpp:6891:47: error: use of undeclared identifier 'Finger'
  pyobj = SWIG_NewPointerObj(SWIG_as_voidptr(&Finger), SWIGTYPE_p_leap_list_helper,  0 );
                                              ^
LeapPython.cpp:6906:7: error: unknown type name 'leap_list_helper'
      leap_list_helper * temp;
      ^
LeapPython.cpp:6907:33: error: unknown type name 'leap_list_helper'
      temp  = reinterpret_cast< leap_list_helper * >(argp);
                                ^
LeapPython.cpp:6908:7: error: use of undeclared identifier 'Tool'
      Tool = *temp;
      ^
LeapPython.cpp:6921:47: error: use of undeclared identifier 'Tool'
  pyobj = SWIG_NewPointerObj(SWIG_as_voidptr(&Tool), SWIGTYPE_p_leap_list_helper,  0 );
                                              ^
LeapPython.cpp:6936:7: error: unknown type name 'leap_list_helper'
      leap_list_helper * temp;
      ^
LeapPython.cpp:6937:33: error: unknown type name 'leap_list_helper'
      temp  = reinterpret_cast< leap_list_helper * >(argp);
                                ^
LeapPython.cpp:6938:7: error: use of undeclared identifier 'Gesture'
      Gesture = *temp;
      ^
LeapPython.cpp:6951:47: error: use of undeclared identifier 'Gesture'
  pyobj = SWIG_NewPointerObj(SWIG_as_voidptr(&Gesture), SWIGTYPE_p_leap_list_helper,  0 );
                                              ^
LeapPython.cpp:6966:7: error: unknown type name 'leap_list_helper'
      leap_list_helper * temp;
      ^
LeapPython.cpp:6967:33: error: unknown type name 'leap_list_helper'
      temp  = reinterpret_cast< leap_list_helper * >(argp);
                                ^
LeapPython.cpp:6968:7: error: use of undeclared identifier 'Image'
      Image = *temp;
      ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.

I Не понимаю, почему я получаю такие ошибки типа. Leap Python. cpp успешно сгенерирован командой swig -c++ -python -o LeapPython.cpp -interface LeapPython Leap.i и, похоже, не вызывает проблем у других, кто пытался это сделать в прошлом.

...