我从本网站下载了以下SWIG文件,该文件提供了用于计算可见性多边形的c ++代码。我希望能够从Python调用它。请注意,包的名称拼写错误 “粘性”而不是“可见性”。
我在使用Swig 2.0和使用Python 2.7的Ubuntu 14.04上
我尝试在下面的SWIG文件中使用命令swig -python visilibity.i
,并在bash提示符下出错。
/usr/share/swig2.0/python/std_common.i:73: Error: Syntax error in input(1).
我对这里的错误一无所知。我已确保头文件和.cpp文件与.i文件位于同一目录中。
%module visilibity
%{
#include "visilibity.hpp"
%}
%include std_vector.i
namespace std {
%template(pointList) vector<VisiLibity::Point>;
%template(polygonList) vector<VisiLibity::Polygon>;
}
%include visilibity.hpp
%extend VisiLibity::Polygon {
Point __getitem__(unsigned i) {
return (*self)[i];
}
};
答案 0 :(得分:5)
这是C ++代码,所以你需要告诉它swig:
swig -c++ -python visilibity.i