Возможно ли создать 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 теперь корректно возвращаются объекты из подключенной обёртки.

→ Ссылка