[17:32:48 pal@underdark ~/tmp]$ g++ --version i586-alt-linux-g++ (GCC) 3.4.3 20050221 (ALT Linux, build 3.4.3-alt5) Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. [17:26:52 pal@underdark ~/tmp]$ cat c.cpp #include <deque> #include <boost/lambda/lambda.hpp> [17:30:54 pal@underdark ~/tmp]$ g++ -c -D_GLIBCXX_DEBUG c.cpp In file included from /usr/include/boost/lambda/lambda.hpp:23, from c.cpp:2: /usr/include/boost/lambda/detail/operator_return_type_traits.hpp:908: error: use of `deque' is ambiguous /usr/include/boost/lambda/detail/operator_return_type_traits.hpp:871: error: first declared as `template<class T, class Allocator> struct std::deque' here /usr/lib/gcc/i586-alt-linux/3.4.3/../../../../include/c++/3.4.3/debug/deque:42: error: also declared as `template<class _Tp, class _Allocator> class __gnu_debug_def::deque' here ..... а там ------------------------- // The GCC 2.95.x uses a non-conformant deque #if BOOST_WORKAROUND(__GNUC__, == 2) && __GNUC_MINOR__ <= 96 #include <deque> #else namespace std { template <class T, class Allocator> class deque; } #endif #if BOOST_WORKAROUND(__GNUC__, == 3) && __GNUC_MINOR__ >=4 #include <vector> #include <map> #else namespace std { template <class T, class Allocator> class vector; template <class Key, class T, class Cmp, class Allocator> class map; template <class Key, class T, class Cmp, class Allocator> class multimap; } #endif -------------------- как видим, 3.4 при -D_GLIBCXX_DEBUG тоже не особо conformant собственно, не только с deque я пока руками поправлю, но надо бы в апстрим пробить
Ещё актуально?
нет