我在以下代码行中使用 SWIG 时收到“输入语法错误”错误
template<typename T>
void print_vec(std::vector<T> vec, int length = -1);
在我的 .i 文件中,我包含以下行
%template(print_vec_int) print_vec<int>;
我做错了什么?
最佳答案
你正在swigC++代码,但是告诉swig它是C。你需要在swig命令行添加-c++
。
swig -o x_wrap.cc -c++ -python x.i
如果您使用的是 SCons,则需要更新 SWIGFLAGS 环境变量:
env = Environment(SWIGFLAGS=['-c++', '-python'])
关于python - 如何处理 SWIG 中的函数模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26028402/