如何为使用vector <string>?</string>的函数编写SWIG接口文件

时间:2012-07-11 05:18:41

标签: c++ python swig

我有一个c ++文件,我希望使用SWIG转换为Python模块。该文件由单个函数vector<string> load(string input) {组成。当然,我使用的是c ++标题<vector><string>。理想情况下,我希望此函数在从Python调用时返回Python列表。不幸的是,我对SWIG的经验相对较少,我想知道最简单的方法是什么。我在接口文件中读到了使用%include“std_string.i”和%include“std_vector.i”,但到目前为止,我只想到了如何使用std_vector来处理vector<int>vector<double>等等,但不是vector<string>。必须有办法做到这一点。我只是想知道是否有人可以向我解释如何。我在Mac OSX 10.7.4上使用SWIG 2.0.7和Python 2.7.1。

1 个答案:

答案 0 :(得分:3)

这就是我的所作所为:

%include "stl.i"
%template(_string_list) std::vector< std::string >;