VC ++ 2008 compilation problems with enhancement

Suddenly, two design decisions stopped compiling. I do not remember that any changes could disrupt the assembly. One project is lib and the other is exe. Lib still compiles without problems, but exe fails. I isolated the problem while loading some boost files. Here is stdafx.cpp, which is enough to show an error:

#include "stdafx.h"
#include <boost/thread.hpp>

And these are the error messages:

1>Compiling...
1>stdafx.cpp
1>        c:\program files (x86)\microsoft visual studio 9.0\vc\include\stdlib.h(525) : see declaration of '_ultoa'
1>c:\libs\boost_1_44_0\boost\mpl\size_t_fwd.hpp(23) : error C2143: syntax error : missing ',' before 'constant'
1>c:\libs\boost_1_44_0\boost\mpl\aux_\integral_wrapper.hpp(42) : error C2143: syntax error : missing ',' before 'constant'
1>c:\libs\boost_1_44_0\boost\mpl\aux_\integral_wrapper.hpp(84) : error C2143: syntax error : missing ',' before 'constant'
1>c:\libs\boost_1_44_0\boost\mpl\aux_\integral_wrapper.hpp(84) : error C3211: 'boost::mpl::size_t<__formal>::value' : explicit specialization is using partial specialization syntax, use template <> instead
1>        with
1>        [
1>            __formal=1135
1>        ]
1>        c:\libs\boost_1_44_0\boost\mpl\aux_\integral_wrapper.hpp(45) : see declaration of 'boost::mpl::size_t<__formal>::value'
1>        with
1>        [
1>            __formal=1135
1>        ]

I noticed that if I changed the include line to:

#include "stdafx.h"
#include <boost/thread/thread.hpp>

it works, but then I have others in the code:

#include <boost/bind.hpp>
#include <boost/function.hpp>

and they also give the same 4 lines of errors.

Can anyone understand what might be wrong? I repeat that this code worked for several months and the error appeared yesterday.

+3
source share
1 answer

, , - , stdafx.h, Boost ( Boost /// , ). , . - ?

+1

Source: https://habr.com/ru/post/1787114/


All Articles