如何摆脱这个 SWIG 文件中的错误

How to get rid of the error in this SWIG file

我从这个网站下载了以下 SWIG 文件,它提供了一个 c++ 代码来计算可见性多边形。我希望能够从 Python 调用它。请注意,包的名称拼写很奇怪 "visilibity" 而不是 "visibility"。

我在 Ubuntu 14.04 使用 Swig 2.0 并使用 Python 2.7

我尝试在下面的 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];
  }
};

它是 C++ 代码,所以你需要告诉它 swig:

swig -c++ -python visilibity.i