1

我有一个 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>orvector<double>等​​,但不是vector<string>。不过,一定有办法做到这一点。我只是想知道是否有人可以向我解释如何。我在 Mac OsX 10.7.4 和 Python 2.7.1 上使用 SWIG 2.0.7。

4

1 回答 1

4

这就是我所做的:

%include "stl.i"
%template(_string_list) std::vector< std::string >;
于 2012-07-11T05:40:09.570 回答