вот пытаюсь скомпилить простой С++ примерчик использующий Boost library, на что мой g++ выдает "милиард" однотипных ошибок, вот одна из них:
Invalid token in expression, возникает в следующем куске:
# if (defined(__STL_IMPORT_VENDOR_CSTD) \
|| defined(__STL_USE_OWN_NAMESPACE) \
|| defined(_STLP_IMPORT_VENDOR_CSTD) \
|| defined(_STLP_USE_OWN_NAMESPACE)) \
&& (defined(__STL_VENDOR_GLOBAL_CSTD) || defined (_STLP_VENDOR_GLOBAL_CSTD))
# define BOOST_NO_STDC_NAMESPACE
# define BOOST_NO_EXCEPTION_STD_NAMESPACE
# endif
#elif __BORLANDC__ < 0x560
если немного изменить данный шаблон, а именно записать его в одну строчку, без использования символа конкатенации '\', то g++ хавает этот кусок. так как таких мест очень много, то просто их все подправить — невыход. вот и вопрос, почему на связке сабж. при использовании конкатенации строк шаблонов происходит указанный баг? ведь стандарт разрешает так разбивать многострочные шаблоны. подскажите, плс, в чем может быть дело...