Help me out from boost.log
Hi,
I want to use boost.log and I succeeded in building it with bjam with
Visual Studio 2005. But I quickly found I cannot use it.
Below code are from the tutorial,
#include
On 21/01/2011 18:42, Steven Woody wrote:
Hi, Hi, I want to use boost.log and I succeeded in building it with bjam with Visual Studio 2005. But I quickly found I cannot use it.
Below code are from the tutorial,
#include
#include #include logging::core::init_log_to_file( keywords::file_name = "dsttest_%N.log", keywords::rotation_size = 10 * 1024 * 1024, keywords::time_based_rotation = sinks::file::rotation_at_time_point(0, 0, 0), keywords::format = "[%TimeStamp%]: %_%" ); logging::core::get()->set_filter( flt::attrlogging::trivial::severity_level("Severity") >= loggin::trivial::debug );
but the compiler (vc++ 8.0) just complains:
error C2653: 'logging' : is not a class or namespace name error C2653: 'keywords' : is not a class or namespace name ... look here http://boost-log.sourceforge.net/libs/log/doc/html/log/how_to_read.html I tried to use boost::log::logging, but it did not help.
Then I decided to try the most simple code:
BOOST_LOG_TRIVIAL(debug)<< "hello boost.log";
it passed the compiler but not the linker:
libboost_log-vc80-mt-gd-1_45.lib(trivial.obj) : error LNK2019: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAABVerror_category@12@XZ) referenced in function "void __cdecl boost::system::`dynamic initializer for 'posix_category''(void)" (??__Eposix_category@system@boost@@YAXXZ) .... you probably need to link the boost::system library in order to use the log library.
Please help me! Thanks in advance.
Bye, Tarch.
On 22 January 2011 02:06, Tarcisio Fedrizzi
On 21/01/2011 18:42, Steven Woody wrote:
Hi,
Hi,
I want to use boost.log and I succeeded in building it with bjam with Visual Studio 2005. But I quickly found I cannot use it.
Below code are from the tutorial,
#include
#include #include logging::core::init_log_to_file( keywords::file_name = "dsttest_%N.log", keywords::rotation_size = 10 * 1024 * 1024, keywords::time_based_rotation = sinks::file::rotation_at_time_point(0, 0, 0), keywords::format = "[%TimeStamp%]: %_%" ); logging::core::get()->set_filter( flt::attrlogging::trivial::severity_level("Severity") >= loggin::trivial::debug );
but the compiler (vc++ 8.0) just complains:
error C2653: 'logging' : is not a class or namespace name error C2653: 'keywords' : is not a class or namespace name ...
look here http://boost-log.sourceforge.net/libs/log/doc/html/log/how_to_read.html
Thanks for this! I changed the code accordingly to: boost::log::init_log_to_file( boost::log::keywords::file_name = "dsttest_%N.log", boost::log::keywords::rotation_size = 10 * 1024 * 1024, boost::log::keywords::time_based_rotation = boost::log::sinks::file::rotation_at_time_point(0, 0, 0), boost::log::keywords::format = "[%TimeStamp%]: %_%" ); boost::log::core::get()->set_filter( boost::log::filters::attrboost::log::trivial::severity_level("Severity") >= boost::log::trivial::debug ); it seems solved the namespace problem, but I then got some other errors: 1>d:\woody\svn\fox3-dst\trunk\test\dsttest.cpp(30) : error C2039: 'init_log_to_file' : is not a member of 'boost::log_mt_nt5' 1>d:\woody\svn\fox3-dst\trunk\test\dsttest.cpp(35) : error C2039: 'format' : is not a member of 'boost::log_mt_nt5::keywords' 1>d:\woody\svn\fox3-dst\trunk\test\dsttest.cpp(35) : error C2065: 'format' : undeclared identifier 1>d:\woody\svn\fox3-dst\trunk\test\dsttest.cpp(30) : error C3861: 'init_log_to_file': identifier not found What's wrong now?
I tried to use boost::log::logging, but it did not help.
Then I decided to try the most simple code:
BOOST_LOG_TRIVIAL(debug)<< "hello boost.log";
it passed the compiler but not the linker:
libboost_log-vc80-mt-gd-1_45.lib(trivial.obj) : error LNK2019: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAABVerror_category@12@XZ) referenced in function "void __cdecl boost::system::`dynamic initializer for 'posix_category''(void)" (??__Eposix_category@system@boost@@YAXXZ) ....
you probably need to link the boost::system library in order to use the log library.
What you mean 'link the boost::system" library? I manually linked in the stage/lib/libboost_system-vc80-mt*.lib, but it did not help. Looking for your further reply and thank you anyway!
Please help me! Thanks in advance.
Bye, Tarch. _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
-- Life is the only flaw in an otherwise perfect nonexistence -- Schopenhauer narke public key at http://subkeys.pgp.net:11371 (narkewoody@gmail.com)
participants (2)
-
Steven Woody
-
Tarcisio Fedrizzi