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

Syntax error when include OpenCV core.hpp in SWIG

本文关键字:语法 错误 hpp core SWIG 包含 OpenCV      更新时间:2023-10-16

我正在尝试使用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可以吗?

谢谢。

好的,我发现问题可能是由嵌套的头引起的,包括。

opencv2/core/core.hpp中,存在

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

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

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

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