【问题标题】:How do you write a SWIG interface file for a function that uses vector<string>?如何为使用 vector<string> 的函数编写 SWIG 接口文件?
【发布时间】:2012-07-11 05:18:41
【问题描述】:

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

【问题讨论】:

标签: c++ python swig


【解决方案1】:

这就是我的工作:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-23
    相关资源
    最近更新 更多