Я пытаюсь преобразовать простой файл .h из c ++ в python с помощью swig.
Файл .i довольно простой, и это:
%module conversions
%{
#include "conversions.h"
%}
%include "typemaps.i"
%include "conversions.h"
I Я могу преобразовать файл из c ++ и вызвать его в python, но когда я пытаюсь использовать одну из преобразованных функций, у меня появляется следующая ошибка TypeError:
TypeError: in method 'msgToMap', argument 1 of type 'octomap_msgs::Octomap const &'
Вход, переданный этой функции при вызове имеет тип:
<class 'octomap_msgs.msg._Octomap.Octomap'>
, и я знаю, что этот тип тот же, преобразованный из C ++ в Python. Я хочу сказать SWIG или python: обрабатывать тип octomap_msgs.msg._Octomap.Octomap в python как octomap_msgs :: Octomap const & когда в C ++.
Я знаю, что существует библиотека typemaps.i в swig, но я действительно не понимаю, как ее использовать в этом контексте. Как я могу это сделать?