是否支持std :: vector <std :: string> *作为OUTPUT?

我用swig写NodeJS的插件,遇到一个错误。
它支持std :: vector *作为一个OUTPUT?
我的我:
%apply std::vector<std::string> *OUTPUT {std::vector<std::string>* result};
当我运行swig时:
swig -javascript -node -c++ -DV8_VERSION=0x040599 export.i
有错误:
export.i:19: Warning 453: Can't apply (std::vector< std::string > *OUTPUT). No typemaps are defined.

我在swig-javascript中遇到了一个错误,但是它在swig-python中工作正常。

任何人都可以帮忙
谢谢

添加:

 %include "std_string.i" %include "std_vector.i" namespace std { %template(StringVector) vector<string>; } 

早在你的文件似乎是足以使其工作,例如。 为一个C + +类

 class MyClass { public: std::vector<std::string> getNames(); (...) 

下面的代码将在Javascript方面工作:

 var o = ... a = o.getNames(); console.log("size: " + a.size()); for (i = 0; i < a.size(); i++) { console.log(a.get(i)); } 

这是SWIG 3,它的工作原理如http://www.swig.org/Doc1.3/Library.html#Library_nn15