如何处理SWIG中的功能模板?

时间:2014-09-24 23:59:28

标签: python c++ swig

我在输入"中收到#34;语法错误在以下代码行上使用SWIG时出错

template<typename T>
void print_vec(std::vector<T> vec, int length = -1);

在我的.i文件中,我包含以下行

%template(print_vec_int) print_vec<int>;

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您正在使用C ++代码,但告诉它是C语言。您需要将-c++添加到swig命令行。

swig -o x_wrap.cc -c++ -python x.i

如果您使用的是SCons,则需要更新SWIGFLAGS环境变量:

env = Environment(SWIGFLAGS=['-c++', '-python'])