Я пишу pybindngs для класса C ++, в котором объекты Google Protobuf являются переменными-членами.Я хотел бы, чтобы эти binded-функции возвращали (на земле Python) версию Python объекта protobuf (который изначально генерирует протокомпилятор Google).
Если я попытаюсь наивно вернуть версию protobuf на C ++ вПри определении pybind
.def_readwrite("my_protobuf", &my_protobuf_)
я получаю следующую ошибку:
TypeError: Unable to convert function return value to a Python type! The signature was
(self: MyClass) -> MyProtobufDef
, что имеет смысл - тип возвращаемого значения - объект protobuf в C ++, а не объект protobuf в Python.Как мне преобразовать это в Python-версию protobuf?