• 1554阅读
  • 1回复

log4cplus在QtCreator报错 [复制链接]

上一主题 下一主题
离线介农酥
 

只看楼主 倒序阅读 楼主  发表于: 2020-05-25
LOG4CPLUS_INFO(logger, LOG4CPLUS_TEXT("Hello world"));

报错

no viable conversion from
'std::__cxx11::basic_ostringstream<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::__string_type' (aka 'basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >') to
'const log4cplus::tchar *' (aka 'const wchar_t *')


感觉自己确实是初级啊

我自己追踪了下


#define LOG4CPLUS_INFO(logger, logEvent)                                \
    LOG4CPLUS_MACRO_BODY (logger, logEvent, INFO_LOG_LEVEL)


#define LOG4CPLUS_MACRO_BODY(logger, logEvent, logLevel)                \
   LOG4CPLUS_SUPPRESS_DOWHILE_WARNING()                                \
    do {                                                                \
        log4cplus::Logger const & _l                                    \
            = log4cplus::detail::macros_get_logger (logger);            \
        if (LOG4CPLUS_MACRO_LOGLEVEL_PRED (                             \
                _l.isEnabledFor (log4cplus::logLevel), logLevel)) {     \
            LOG4CPLUS_MACRO_INSTANTIATE_OSTRINGSTREAM (_log4cplus_buf); \
            _log4cplus_buf << logEvent;                                 \
            log4cplus::detail::macro_forced_log (_l,                    \
                log4cplus::logLevel, _log4cplus_buf.str(),              \
                LOG4CPLUS_MACRO_FILE (), __LINE__,                      \
                LOG4CPLUS_MACRO_FUNCTION ());                           \
        }                                                               \
    } while (0)                                                         \
   LOG4CPLUS_RESTORE_DOWHILE_WARNING()


#define LOG4CPLUS_SUPPRESS_DOWHILE_WARNING() /* empty */
#define LOG4CPLUS_RESTORE_DOWHILE_WARNING() /* empty */


既然是空,为什么不直接去掉。
离线介农酥

只看该作者 1楼 发表于: 2020-05-26
我发现很多少都是C++14和C++17的标准,因此,在pro文件中添加CONFIG += C++14 C++17,就不报错了。
快速回复
限100 字节
 
上一个 下一个