我有一个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。
答案 0 :(得分:3)
这就是我的所作所为:
%include "stl.i"
%template(_string_list) std::vector< std::string >;