I can't compile my program, which uses boost::log. I'm using the Microsoft Visual Studio 2013 Preview.
I can compile this same code (I'm developing on linux, mac, and windows) on Linux with g++ without issues.
During compilation, I get this error:
C:\Program Files (x86)\Boost\include\boost-1_54\boost/log/utility/formatting_ost
ream.hpp(664) : error C2678: binary '<<' : no operator found which takes a left-
hand operand of type 'std::basic_ostream<char,std::char_traits<char>>' (or there
is no acceptable conversion)
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(4
98): could be 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(std::basic_streambuf<char,std::char
_traits<char>> *)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(4
78): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(const void *)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(4
58): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(long double)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(4
38): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(double)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(4
18): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(float)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(3
97): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(unsigned __int64)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(3
77): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(__int64)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(3
56): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(unsigned long)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(3
36): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(long)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(3
16): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(unsigned int)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(2
91): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(int)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(2
71): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(unsigned short)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(2
37): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(short)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(2
17): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(std::_Bool)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(2
10): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(std::ios_base &(__cdecl *)(std::ios
_base &))'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(2
03): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(std::basic_ios<char,std::char_trait
s<char>> &(__cdecl *)(std::basic_ios<char,std::char_traits<char>> &))'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(1
97): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(std::basic_ostream<char,std::char_t
raits<char>> &(__cdecl *)(std::basic_ostream<char,std::char_traits<char>> &))'
C:\Program Files (x86)\Boost\include\boost-1_54\boost/log/attributes/att
ribute_name.hpp(175): or 'std::basic_ostream<char,std::char_traits<char>>
&boost::log::v2s_mt_nt5::operator <<<char,std::char_traits<char>>(std::basic_ost
ream<char,std::char_traits<char>> &,const boost::log::v2s_mt_nt5::attribute_name
&)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(6
99): or 'std::basic_ostream<char,std::char_traits<char>> &std::operator <<
<char,std::char_traits<char>>(std::basic_ostream<char,std::char_traits<char>> &,
const char *)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(7
46): or 'std::basic_ostream<char,std::char_traits<char>> &std::operator <<
<char,std::char_traits<char>>(std::basic_ostream<char,std::char_traits<char>> &,
char)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(7
84): or 'std::basic_ostream<char,std::char_traits<char>> &std::operator <<
<std::char_traits<char>>(std::basic_ostream<char,std::char_traits<char>> &,const
char *)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(8
31): or 'std::basic_ostream<char,std::char_traits<char>> &std::operator <<
<std::char_traits<char>>(std::basic_ostream<char,std::char_traits<char>> &,char)
'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(9
57): or 'std::basic_ostream<char,std::char_traits<char>> &std::operator <<
<std::char_traits<char>>(std::basic_ostream<char,std::char_traits<char>> &,const
signed char *)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(9
64): or 'std::basic_ostream<char,std::char_traits<char>> &std::operator <<
<std::char_traits<char>>(std::basic_ostream<char,std::char_traits<char>> &,signe
d char)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(9
71): or 'std::basic_ostream<char,std::char_traits<char>> &std::operator <<
<std::char_traits<char>>(std::basic_ostream<char,std::char_traits<char>> &,const
unsigned char *)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(9
78): or 'std::basic_ostream<char,std::char_traits<char>> &std::operator <<
<std::char_traits<char>>(std::basic_ostream<char,std::char_traits<char>> &,unsig
ned char)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(9
88): or 'std::basic_ostream<char,std::char_traits<char>> &std::operator <<
<char,std::char_traits<char>,T>(std::basic_ostream<char,std::char_traits<char>>
&&,const _Ty &)'
with
[
T=std::stringstream
, _Ty=std::stringstream
]
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(1
026): or 'std::basic_ostream<char,std::char_traits<char>> &std::operator <
<<char,std::char_traits<char>>(std::basic_ostream<char,std::char_traits<char>> &
,const std::error_code &)'
while trying to match the argument list '(std::basic_ostream<char,std::c
har_traits<char>>, const std::stringstream)'
src\BasicSceneManager.cpp(46) : see reference to function template insta
ntiation 'boost::log::v2s_mt_nt5::basic_formatting_ostream<char,std::char_traits
<char>,std::allocator<char>> &boost::log::v2s_mt_nt5::operator <<<char,std::char
_traits<char>,std::allocator<char>,std::stringstream>(boost::log::v2s_mt_nt5::ba
sic_formatting_ostream<char,std::char_traits<char>,std::allocator<char>> &,const
T &)' being compiled
with
[
T=std::stringstream
]
scons: *** [build\BasicSceneManager.obj] Error 2
C:\Program Files (x86)\Boost\include\boost-1_54\boost/log/utility/formatting_ost
ream.hpp(664) : error C2678: binary '<<' : no operator found which takes a left-
hand operand of type 'std::basic_ostream<char,std::char_traits<char>>' (or there
is no acceptable conversion)
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(4
98): could be 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(std::basic_streambuf<char,std::char
_traits<char>> *)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(4
78): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(const void *)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(4
58): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(long double)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(4
38): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(double)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(4
18): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(float)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(3
97): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(unsigned __int64)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(3
77): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(__int64)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(3
56): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(unsigned long)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(3
36): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(long)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(3
16): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(unsigned int)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(2
91): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(int)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(2
71): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(unsigned short)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(2
37): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(short)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(2
17): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(std::_Bool)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(2
10): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(std::ios_base &(__cdecl *)(std::ios
_base &))'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(2
03): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(std::basic_ios<char,std::char_trait
s<char>> &(__cdecl *)(std::basic_ios<char,std::char_traits<char>> &))'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(1
97): or 'std::basic_ostream<char,std::char_traits<char>> &std::basic_ostre
am<char,std::char_traits<char>>::operator <<(std::basic_ostream<char,std::char_t
raits<char>> &(__cdecl *)(std::basic_ostream<char,std::char_traits<char>> &))'
C:\Program Files (x86)\Boost\include\boost-1_54\boost/log/attributes/att
ribute_name.hpp(175): or 'std::basic_ostream<char,std::char_traits<char>>
&boost::log::v2s_mt_nt5::operator <<<char,std::char_traits<char>>(std::basic_ost
ream<char,std::char_traits<char>> &,const boost::log::v2s_mt_nt5::attribute_name
&)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(6
99): or 'std::basic_ostream<char,std::char_traits<char>> &std::operator <<
<char,std::char_traits<char>>(std::basic_ostream<char,std::char_traits<char>> &,
const char *)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(7
46): or 'std::basic_ostream<char,std::char_traits<char>> &std::operator <<
<char,std::char_traits<char>>(std::basic_ostream<char,std::char_traits<char>> &,
char)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(7
84): or 'std::basic_ostream<char,std::char_traits<char>> &std::operator <<
<std::char_traits<char>>(std::basic_ostream<char,std::char_traits<char>> &,const
char *)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(8
31): or 'std::basic_ostream<char,std::char_traits<char>> &std::operator <<
<std::char_traits<char>>(std::basic_ostream<char,std::char_traits<char>> &,char)
'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(9
57): or 'std::basic_ostream<char,std::char_traits<char>> &std::operator <<
<std::char_traits<char>>(std::basic_ostream<char,std::char_traits<char>> &,const
signed char *)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(9
64): or 'std::basic_ostream<char,std::char_traits<char>> &std::operator <<
<std::char_traits<char>>(std::basic_ostream<char,std::char_traits<char>> &,signe
d char)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(9
71): or 'std::basic_ostream<char,std::char_traits<char>> &std::operator <<
<std::char_traits<char>>(std::basic_ostream<char,std::char_traits<char>> &,const
unsigned char *)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(9
78): or 'std::basic_ostream<char,std::char_traits<char>> &std::operator <<
<std::char_traits<char>>(std::basic_ostream<char,std::char_traits<char>> &,unsig
ned char)'
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(9
88): or 'std::basic_ostream<char,std::char_traits<char>> &std::operator <<
<char,std::char_traits<char>,T>(std::basic_ostream<char,std::char_traits<char>>
&&,const _Ty &)'
with
[
T=std::stringstream
, _Ty=std::stringstream
]
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\ostream(1
026): or 'std::basic_ostream<char,std::char_traits<char>> &std::operator <
<<char,std::char_traits<char>>(std::basic_ostream<char,std::char_traits<char>> &
,const std::error_code &)'
while trying to match the argument list '(std::basic_ostream<char,std::c
har_traits<char>>, const std::stringstream)'
src\GlrProgram.cpp(74) : see reference to function template instantiatio
n 'boost::log::v2s_mt_nt5::basic_formatting_ostream<char,std::char_traits<char>,
cator<char>> &boost::log::v2s_mt_nt5::operator <<<char,std::char_traits
<char>,std::allocator<char>,std::stringstream>(boost::log::v2s_mt_nt5::basic_for
matting_ostream<char,std::char_traits<char>,std::allocator<char>> &,const T &)'
being compiled
withstd::allo
[
T=std::stringstream
]
scons: *** [build\GlrProgram.obj] Error 2
scons: building terminated because of errors.
Has anyone had any issues like this before?