Я хочу передать обратный вызов из моего кода Python в c ++
Я хочу, чтобы мой код выглядел примерно так: В C ++:
typedef void (*MyCallback_t) (CallbackInfo);
class MyClass
{...
void setcallback(MyCallback_t cb);
...
}
И для использования в python:
import mylib
def myCallback(mylib_CallbackInfo):
...
t = mylib.MyClass()
t.setcallback(myCallback)
Я видел несколько тем, связанных с моей проблемой, но не смог ее решить
Например, здесь: Обработка в реальном времени и обратные вызовы с Python и C ++ есть совет использовать boost :: python и предупреждение о GLI, но нет примеров. И здесь
Как вызвать функцию Python из потока на иностранном языке (C ++) нет полного описания с частью кода Python и с частью «BOOST_PYTHON_MODULE»
Я также нашел ссылку на использование py_boost_function.hpp для пример в Boost python howto , но он не компилировался, и на самом деле я не мог понять, как его использовать.