Boost.Log と GCC 4.4.7 によって生成される次の警告メッセージを抑制する方法を誰か教えてもらえますか? 私のプロジェクトは C++11 モードでビルドされています ( -std=c++0x
GCC 4.4.7 で)。
src/Logger.cc:7: warning: missing initializer for member ‘boost::log::v2_mt_posix::expressions::attribute_keyword<tag::severity, boost::phoenix::actor>::proto_expr_’
src/Logger.cc
Boost.Log のラッパーであるロギング クラスのソース ファイルはどこにありますか。7 行目では、次のように Boost.Log マクロの 1 つを使用します。Logger::ESeverityLevel
で定義された列挙型Logger.h
です。
BOOST_LOG_ATTRIBUTE_KEYWORD(severity, "Severity", Logger::ESeverityLevel)
このマクロは次のように展開できます。
namespace tag {\
struct severity :\
public ::boost::log::expressions::keyword_descriptor\
{\
typedef Logger::ESeverityLevel value_type;\
static ::boost::log::attribute_name get_name() { return ::boost::log::attribute_name("Severity"); }\
};\
}\
typedef ::boost::log::expressions::attribute_keyword< tag::severity > severity_type; const severity_type severity = {};
severity_type
Clang (Apple LLVM バージョン 6.0) では有効ですが、の初期化でこの警告が表示されるようです。
このマクロの公式のサンプル コードは、 http://theboostcplibraries.com/boost.log#ex.log_05にあります。