Boost predef / os / bsd.h具有递归包含

时间:2018-09-08 16:04:50

标签: c++ boost netbeans ide

我的Netbeans intellisense突然停止工作,这是由于Boost predef / os / bsd.h标头出现了递归包含问题,如此处所述:

Unable to resolve template based identifier "get". Netbeans 8.1

答案如下:

  

我遇到了同样的问题。问题在于提振   predef / os / bsd.h标头。它在#else块中包含#5个文件,用于   #ifndef BOOST_PREDEF_OS_BSD_H保护装置。这意味着该标头   如果这5个文件中的任何一个也不能防止递归   包括bsd.h(他们这样做)。

     

我的解决方案是编辑predef / os / bsd.h文件并添加递归   #else块中的后卫-因此,从第94行开始   predef / os / bsd.h文件现在看起来像:

#ifndef BOOST_PREDEF_OS_BSD_H_PREVENT_RECURSION      <-- ADD THIS
#define BOOST_PREDEF_OS_BSD_H_PREVENT_RECURSION      <-- ADD THIS

#include <boost/predef/os/bsd/bsdi.h>
#include <boost/predef/os/bsd/dragonfly.h>
#include <boost/predef/os/bsd/free.h>
#include <boost/predef/os/bsd/open.h>
#include <boost/predef/os/bsd/net.h>

#endif                                               <-- ADD THIS

有没有一种方法可以解决此问题而无需修改和重新编译boost源代码?

0 个答案:

没有答案