
HI All, I am getting compilation errors using Microsoft (R) C/C++ Optimizing Compiler Version 13.10.2240.8 for IA-64 The compiler is shipped with Windows DDK (WINDDK\3790\bin\ia64). The same code compiles perfectly well with 32 bit Microsoft compiler (13.10.2179.0) The Boost version is 1.32.0 Is it a known issue with the compiler? Is there a workaround? Content of the StdAfx.h file which is being compiled as a the pre-compiled header is: #include <boost/multi_index_container.hpp> #include <boost/multi_index/member.hpp> #include <boost/multi_index/ordered_index.hpp> #include <boost/multi_index/mem_fun.hpp> #include <boost/multi_index/composite_key.hpp> #include <boost/shared_ptr.hpp> #include <boost/intrusive_ptr.hpp> #include <boost/functional.hpp> #include <boost/variant.hpp> #include <boost/ref.hpp> The following is the compiler output: P'nmake.exe /c BUILDMSG=Stop. -i NTTEST= UMTEST= NOLINK=1 NOPASS0=1 IA64=1' cl -nologo -Iia64\ -I. -IC:\WINDDK\3790\inc\mfc42 -IC:\WINDDK\3790\inc\atl30 -I\include -IC:\WINDDK\3790\inc\ddk\wnet IC:\WINDDK\3790\inc\crt C:\WINDDK\3790 \inc\wnet\crt\stl60 -D_WIN64 -D_IA64_=1 -DIA64=1 -DNO_HW_DETECT -D_MSC_EXTENSIONS -DCONDITION_HANDLING=1 -DNT_INST=0 -DWIN32=100 -D_NT1X_=100 -DWINNT=1 -D_WIN32_WINNT=0x0502 /DWINVER=0x0502 -D_WIN32_IE=0x0600 -D_MERCED_A0_=1 -DDEVL=1 -D__BUILDMACHINE__=WinDDK -DFPO=0 -DNDEBUG -D_DLL=1 -D_MT=1 -DUNICODE -D_UNICODE -DNOATLNAMESPACE /D_ATL_DLL /c /Zel /Zp8 /Gy /Gi- /W3 /Wp64 /GX /GR /Zi /Od /d2QIA64_fr32 /FdC:\main\SWSvc\objfre_wnet_IA64\ia64\ - FIC:\WINDDK\3790\inc\wnet\warning.h /YlSWSvc /Ycstdafx.h /Fpobjfre_wnet_IA64\ia64\stdafx.pch /Fo"C:\objfre_wnet_IA64\ia64\_stdafx.obj" /Tp #include "stdafx.h" pch_hdr.src \boost-1_32\boost\mpl\if.hpp(63) : error C2226: syntax error : unexpected type 'value' \boost-1_32\boost\mpl\if.hpp(73) : see reference to class template instantiation 'boost::mpl::if_<T1,T2,T3>' being compiled \boost-1_32\boost\mpl\if.hpp(63) : error C2144: syntax error : 'value' should be preceded by '(' \boost-1_32\boost\mpl\if.hpp(67) : error C2976: 'boost::mpl::if_c' : too few template arguments \boost-1_32\boost\mpl\if.hpp(37) : see declaration of 'boost::mpl::if_c' \boost-1_32\boost\mpl\aux_\preprocessed\plain\less.hpp(21) : error C2143: syntax error : missing ')' before '>' \boost-1_32\boost\mpl\aux_\preprocessed\plain\less.hpp(28) : see reference to class template instantiation 'boost::mpl::less_impl<Tag1,Tag2>' being compiled \boost-1_32\boost\mpl\aux_\preprocessed\plain\less.hpp(21) : error C2059: syntax error : '>' \boost-1_32\boost\mpl\aux_\preprocessed\plain\less.hpp(26) : error C2947: expecting '>' to terminate template-argument-list, found '>' \boost-1_32\boost\mpl\aux_\preprocessed\plain\less.hpp(26) : error C2976: 'boost::mpl::if_c' : too few template arguments \boost-1_32\boost\mpl\if.hpp(37) : see declaration of 'boost::mpl::if_c' \boost-1_32\boost\mpl\aux_\preprocessed\plain\less.hpp(87) : error C2143: syntax error : missing ')' before '>' \boost-1_32\boost\mpl\aux_\preprocessed\plain\less.hpp(89) : see reference to class template instantiation 'boost::mpl::less_impl<Tag1,Tag2>::apply<N1,N2>' being compiled with [ Tag1=boost::mpl::integral_c_tag, Tag2=boost::mpl::integral_c_tag ] \boost-1_32\boost\mpl\aux_\preprocessed\plain\less.hpp(87) : error C2059: syntax error : '>' \boost-1_32\boost\mpl\aux_\preprocessed\plain\less.hpp(88) : error C2143: syntax error : missing ';' before '{' \boost-1_32\boost\mpl\aux_\preprocessed\plain\less.hpp(89) : error C2143: syntax error : missing ';' before '}' \boost-1_32\boost\mpl\aux_\preprocessed\plain\less.hpp(89) : fatal error C1004: unexpected end of file found Thank you, Sergey Serokurov