nixp.ru v3.0

30 мая 2017,
вторник,
06:44:14 MSK

DevOps с компанией «Флант»
Longobard написал 25 ноября 2004 года в 23:02 (524 просмотра) Ведет себя как мужчина; открыл 291 тему в форуме, оставил 2499 комментариев на сайте.

Короче трабла такая: g++ ругается на хидер stl_deque.h, если включить в ппрогу хидер , можно даже не использовать его:

...........
In file included from /usr/lib/gcc/i686-pc-linux-gnu/3.4.2/include/g++-v3/deque:71,
                 from /usr/lib/gcc/i686-pc-linux-gnu/3.4.2/include/g++-v3/stack:70,
                 from thread_keeper.h:4,
                 from thread_keeper.cpp:1:
/usr/lib/gcc/i686-pc-linux-gnu/3.4.2/include/g++-v3/bits/stl_deque.h: In member function `void std::_Deque_base<_Tp, _Alloc>::_M_initialize_map(size_t)':
/usr/lib/gcc/i686-pc-linux-gnu/3.4.2/include/g++-v3/bits/stl_deque.h:446: error: expected unqualified-id before '(' token
In file included from /usr/lib/gcc/i686-pc-linux-gnu/3.4.2/include/g++-v3/deque:74,
                 from /usr/lib/gcc/i686-pc-linux-gnu/3.4.2/include/g++-v3/stack:70,
                 from thread_keeper.h:4,
                 from thread_keeper.cpp:1:
/usr/lib/gcc/i686-pc-linux-gnu/3.4.2/include/g++-v3/bits/deque.tcc: In member function `void std::deque<_Tp, _Alloc>::_M_reallocate_map(size_t, bool)':
/usr/lib/gcc/i686-pc-linux-gnu/3.4.2/include/g++-v3/bits/deque.tcc:699: error: expected unqualified-id before '(' token
...........

Вот /usr/lib/gcc/i686-pc-linux-gnu/3.4.2/include/g++-v3/bits/stl_deque.h:446:

this->_M_impl._M_map_size = std::max ((size_t) _S_initial_map_size, __num_nodes + 2);

Вот /usr/lib/gcc/i686-pc-linux-gnu/3.4.2/include/g++-v3/bits/deque.tcc:699:

std::max(this->_M_impl._M_map_size, __nodes_to_add) + 2;

Вот инфа о гцц:

longobard linux # gcc -v
Reading specs from /usr/lib/gcc/i686-pc-linux-gnu/3.4.2/specs
Configured with: /usr/portage/tmp/portage/gcc-3.4.2-r2/work/gcc-3.4.2/configure --enable-version-specific-runtime-libs --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.4 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.2/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.2/include/g++-v3 --host=i686-pc-linux-gnu --disable-nls --enable-__cxa_atexit --enable-clocale=gnu --enable-shared --with-system-zlib --disable-checking --disable-werror --disable-libunwind-exceptions --with-gnu-ld --enable-threads=posix --disable-multilib --disable-libgcj --enable-languages=c,c++
Thread model: posix
gcc version 3.4.2  (Gentoo Linux 3.4.2-r2, ssp-3.4.1-1, pie-8.7.6.5)
longobard linux #

В чем дело то? Помогите пожалуйста :)

Uncle Theodore

Чем черт не шутит, убери std:: перед max, что получится?

Good Luck,

UT

myst

У меня без std::

Longobard

Вобля, помогло.

Вердикт: во избежении подобных глюков, все нужные хидеры прога таскать будет С СОБОЙ!!!

Пиздец. не ожидал увидеть ерроры в стандартных хидерах.

myst

GCC’шникам bug-report отправил?

Longobard

Они то тут при чем?

Longobard

Это glibc кривой

myst

1. Шоб ты знал это не glibc, а libstdc++

2. С версии 3 libstdc++ входит в состав GCC и распространяется с ним вместе