Próbuję uzyskać Boost.Log dzieje się w moim projekcie. Problem pojawia się w następnym wierszu z trywialny przykład:Boost.Log nie można ustawić filtru rejestrowania (nieokreślony identyfikator "istotność")
using namespace boost::log;
core::get()->set_filter
(
trivial::severity >= trivial::info
);
W moim kodu, to przekłada się na następujący:
boost::log::core::get()->set_filter(
boost::log::trivial::severity >= boost::log::trivial::info
);
Jednak uzyskać następujące błędy:
error C2039: 'severity' : is not a member of 'boost::log::v2s_mt_nt5::trivial'
error C2065: 'severity' : undeclared identifier
W pewnym sensie szukam wokół przestrzeni nazw, próbując dowiedzieć się, jak mam to zrobić, ale tak naprawdę nie znajduję niczego, co działa. Wygląda na to, że do tego potrzebna jest jakaś szalona funkcja lambda. W porządku z jakąś alternatywą (definiującą funkcję, która wypełnia poziom filtrowania?), Ale nie jestem pewien, jak to osiągnąć. Jakieś pomysły?
Używam Boost.Log w wersji 2.0-r862 i Boost 1.53.0.
ROZWIĄZANIE: Ryan wskazał, że powinienem sprawdzić mój obejmuje, i rzeczywiście byłem w tym tylko trivial.hpp
, ale core.hpp
i expressions.hpp
są również wymagane jako obejmuje. Uwzględnienie ich rozwiązało problem.
// need at least these 3 to get "trivial" to work
#include <boost/log/core.hpp>
#include <boost/log/expressions.hpp>
#include <boost/log/trivial.hpp>
Hej, aardvark, Mam problem filtrowania nasilenia. Moje pytanie jest tutaj: stackoverflow.com/q/29707017/1735836 – Patricia