Я хочу передать обратный вызов из моего кода 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 , но он не скомпилирован, и я не мог понять, как его использовать.