在 SWIG 中包含 OpenCV core.hpp 时出现语法错误

Syntax error when include OpenCV core.hpp in SWIG

我正在尝试使用 SWIG 包装 OpenCV 的 C++ API。但是,当我编译时,我得到了这个错误:

/usr/local/Cellar/opencv/2.4.10.1/include/opencv2/core/core.hpp:123:
Error: Syntax error - possibly a missing semicolon.

这是我的 SWIG 文件

%module example

%{
#include "opencv2/core/core.hpp"
%}

%include "opencv2/core/core.hpp"

我不确定这是来自 SWIG 还是来自 OpenCV 的错误。像这样只包含 core.hpp 可以吗?

谢谢。

好的,我发现问题可能是嵌套的 header including.

opencv2/core/core.hpp中,有

#include "opencv2/core/types_c.h"
#include "opencv2/core/version.hpp"

因此,如果我将这两个 header 添加到我的 swig 文件中:

%include "opencv2/core/types_c.h"
%include "opencv2/core/version.hpp"
%include "opencv2/core/core.hpp"

它不会引发缺少分号的错误。