Boost logo

Boost :

Subject: Re: [boost] Boost.Logging 1.51 Using VS2012.
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2013-01-09 07:37:09


On Wed, Jan 9, 2013 at 4:18 PM, syvyi <alexander.svk_at_[hidden]> wrote:
> That's partial result after compilation with Boost.Log under v1.
>
> c:\program files
> (x86)\boost\boost_1_51_0\boost\log\sources\global_logger_storage.hpp(136):
> warning C4996: 'sprintf': This function or variable may be unsafe. Consider
> using sprintf_s instead. To disable deprecation, use
> _CRT_SECURE_NO_WARNINGS. See online help for details.
> 4> d:\visual studio 11.0\vc\include\stdio.h(357) : see declaration
> of 'sprintf'

This annoying warning can be silenced by defining the macro mentioned
in the message.

> 4>c:\program files
> (x86)\boost\boost_1_51_0\boost\log\sources\channel_feature.hpp(190): error
> C2248:
> 'boost::log_mt_nt5::sources::basic_logger<CharT,FinalT,ThreadingModelT>::operator
> =' : cannot access private member declared in class
> 'boost::log_mt_nt5::sources::basic_logger<CharT,FinalT,ThreadingModelT>'

[snip]

> 4> This diagnostic occurred in the compiler generated function
> 'boost::log_mt_nt5::sources::basic_channel_logger<BaseT,ChannelT>
> &boost::log_mt_nt5::sources::basic_channel_logger<BaseT,ChannelT>::operator
> =(const boost::log_mt_nt5::sources::basic_channel_logger<BaseT,ChannelT> &)'
> 4> with
> 4> [
> 4>
> BaseT=boost::log_mt_nt5::sources::basic_logger<char,manster::logger::manster_logger_mt,boost::log_mt_nt5::sources::multi_thread_model&lt;boost::log_mt_nt5::aux::light_rw_mutex>>,
> 4>
> ChannelT=std::basic_string<char,std::char_traits&lt;char>,std::allocator<char>>
> 4> ]

basic_logger::operator= should never be called, it is not used by the
derived classes. It is not clear to me why the compiler generated its
own operator= while there is one already in basic_composite_logger.
Could you post a minimal code sample that triggers this error?


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk