В настоящее время я пытаюсь сделать что-то, как описано здесь : с этим Swig-входным файлом:
%module api
%include "std_string.i"
%include "std_vector.i"
%include "typemaps.i"
namespace std {
%template() vector<string>;
}
%{
#include <api.h>
%}
%include "api.h"
.. Я пытаюсь обернуть функцию, возвращающую vector<string>
:
vector<string> foo() {
return {"a", "b", "c"};
}
Но когда я звоню my_module.foo()
, я просто получаю
_exports_StringVector {}
, когда я даю имя моему %template
или
SwigProxy {}
когда я не знаю.
Я не единственный с этой проблемой.
Кто-нибудь знает решение этой проблемы?Может быть, есть простая карта типов, которую я мог бы использовать?