Мой Netbeans intellisense неожиданно перестал работать, и это связано с тем, что в заголовке Boost предопределенный / os / bsd.h возникла рекурсивная проблема включения, как подробно описано здесь:
Невозможно разрешить основанный на шаблоне идентификатор "get". Netbeans 8.1
, где ответ говорит:
У меня была такая же проблема. Проблема в ускорении
header / os / bsd.h заголовок. Включает 5 файлов в блоке #else для
охранник #ifndef BOOST_PREDEF_OS_BSD_H. Это означает, что этот заголовок
файл не защищен от рекурсии, если любой из этих 5 файлов также
включает bsd.h (что они делают).
Мое решение состояло в том, чтобы отредактировать файл prevf / os / bsd.h и добавить рекурсию
охранник в блоке #else - так, начиная с линии 94 мой
Файл prevf / 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?