Возможно ли создать SWIG обёртку возвращающую классы другой обёртки?
Есть библиотека A на C++, для неё добрые люди сделали SWIG обёртку для Python, назовём её _a. Я пишу на плюсах библиотечку B, которая работает с классами из A. Я тоже создаю SWIG обёртку _b. Теперь, я хочу, что бы моя обёртка, могла возвращать классы обёртки _a, а не <Swig Object of type 'MyAwesomeClass *' at 0x000001DA54B82060>. Возможно ли такое?
Ответы (1 шт):
Автор решения: Филипп Бондарев
→ Ссылка
Как выяснилось, - Да, возможно. Всё, что нужно сделать, это подключить необходимый интерфейсный файл. В моём случае это выглядело примерно так:
%module b
%include a.i
%import a.i
%{
#include <A.hxx>
#include "../B.hxx"
%}
%include "../B.hxx"
Вот так взлетело. В Python теперь корректно возвращаются объекты из подключенной обёртки.