SWIG 语法错误

SWIG Syntax Error

我正在尝试从也使用 IT++ 库的无线通信库 (http://www.yonch.com/wireless) 编译一些 SWIG 绑定。我在 Ubuntu 14.04.

上使用 SWIG 版本 2.0.11

这是我在尝试构建时遇到的错误:

/usr/include/itpp/base/binary.h:162: Error: Syntax error in input(1)

这是来自 binary.h 的第 162 行:

ITPP_EXPORT std::ostream &operator<<(std::ostream &output, const bin &inbin);

如果需要该文件的其余部分,可以在此处找到:http://montecristo.co.it.pt/itpp/binary_8h_source.html

这是正在使用的 SWIG 命令行调用:

/usr/bin/swig -c++ -python -I/home/user/anaconda/include/python2.7 -I../../../include -I/usr/include -I../../../bindings/itpp -I../../../bindings/itpp/.. -DHAVE_CONFIG_H -o base_sparse.cpp ../../../bindings/itpp/base_sparse.i

我几乎没有使用 SWIG 的经验,似乎看不出代码会导致该语法错误。任何见解将不胜感激!

SWIG 不理解导出

我一般加一个

#define ITPP_EXPORT

在包含 C/C++ headers 之后和使用

包含它们之前的 .i 文件中
%include "Someheader.h"