Swig,C ++“包含嵌套太深”

时间:2019-08-16 15:06:18

标签: c++ nested include swig include-guards

我是C ++的初学者,我的嵌套包含文件存在此问题。代码太大了,无法放在这里,但这是我遇到错误的部分:

cvblob.h

#ifdef SWIG
%module cvblob
%{
#include "cvblob.h"
%}
#endif

#ifndef CVBLOB_H
#define CVBLOB_H

#include <iostream>
#include <map>
#include <list>
#include <vector>
#include <limits>

#include <opencv2/opencv.hpp>

#ifndef __CV_BEGIN__
#define __CV_BEGIN__ __BEGIN__
#endif
#ifndef __CV_END__
#define __CV_END__ __END__
#endif

#ifdef __cplusplus
extern "C" {
#endif

...

在上述代码(#iclude "cvblob.h"第4行处,发生了错误:

  

[package_tracking / cvblob / cvblob.h:26] :(错误)#include也嵌套   

防护已被使用,但错误不会消失。抱歉,我无法放入整个代码。如果没有完整的代码无法解决问题,请回答以下问题:

  • 我应该把警卫(#ifndef CVBLOB_H)放在第一行之前吗?
  • 是否有必要将防护措施放在所有头文件中?

谢谢!我感谢任何建议。

0 个答案:

没有答案