C++ g++;关于Mavericks的编译问题
我使用ezlogger库为我们的项目记录日志。升级OSX Maverick后,我无法编译代码,g++编译器在编译日志宏时会抛出错误。错误消息:C++ g++;关于Mavericks的编译问题,c++,g++,osx-mavericks,C++,G++,Osx Mavericks,我使用ezlogger库为我们的项目记录日志。升级OSX Maverick后,我无法编译代码,g++编译器在编译日志宏时会抛出错误。错误消息: In file included from ./../ezlogger/ezlogger_headers.hpp:16: ./../ezlogger/ezlogger.hpp:113:29: error: use of undeclared identifier 'get_verbosity_level_tolerance'
In file included from ./../ezlogger/ezlogger_headers.hpp:16:
./../ezlogger/ezlogger.hpp:113:29: error: use of undeclared identifier 'get_verbosity_level_tolerance'
if (m_verbosity_level <= get_verbosity_level_tolerance())
^
./../ezlogger/ezlogger.hpp:118:6: error: use of undeclared identifier 'get_log_stream'
get_log_stream() << Data;
^
./../ezlogger/ezlogger.hpp:124:29: error: use of undeclared identifier 'get_verbosity_level_tolerance'
if (m_verbosity_level <= get_verbosity_level_tolerance())
^
./../ezlogger/ezlogger.hpp:129:6: error: use of undeclared identifier 'get_log_stream'
get_log_stream() << func;
^
./../ezlogger/ezlogger.hpp:135:29: error: use of undeclared identifier 'get_verbosity_level_tolerance'
if (m_verbosity_level <= get_verbosity_level_tolerance())
^
./../ezlogger/ezlogger.hpp:140:29: error: use of undeclared identifier 'get_verbosity_level_tolerance'
if (m_verbosity_level <= get_verbosity_level_tolerance())
^
./../ezlogger/ezlogger.hpp:145:29: error: use of undeclared identifier 'get_verbosity_level_tolerance'
if (m_verbosity_level <= get_verbosity_level_tolerance())
^
./../ezlogger/ezlogger.hpp:151:29: error: use of undeclared identifier 'get_verbosity_level_tolerance'
if (m_verbosity_level <= get_verbosity_level_tolerance())
^
有没有想过如何解决这个问题?获取详细程度\u级别\u容差()是structezlogger\u详细程度\u级别\u策略的成员
尝试调用ezlogger\u verbosity\u level\u policy::get\u verbosity\u level\u tolerance()而不是只调用get\u verbosity\u level\u tolerance()get\u verbosity\u level\u tolerance()是structezlogger\u verbosity\u level\u policy的成员 尝试调用ezlogger\u verbosity\u level\u policy::get\u verbosity\u level\u tolerance()而不是仅调用get\u verbosity\u level\u tolerance()
struct ezlogger_verbosity_level_policy
{
static inline verbosity get_verbosity_level_tolerance(){return set_or_get_verbosity_level_tolerance(true);}
static void set_verbosity_level_tolerance(verbosity NewValue){set_or_get_verbosity_level_tolerance(false, NewValue);}
private:
inline static verbosity initial_verbosity_level(){return log_default_verbosity_level;}
static verbosity set_or_get_verbosity_level_tolerance(bool GetLevel, verbosity NewValue = log_default_verbosity_level)
{
static verbosity verbosity_level = initial_verbosity_level();
if (!GetLevel) verbosity_level = NewValue;
return verbosity_level;
}
};