如何摆脱这个 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
我从这个网站下载了以下 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