On Sun, Jan 04, 2004 at 05:17:44PM +0300, Dmitry V. Levin wrote: > On Sun, Jan 04, 2004 at 04:10:51PM +0300, Peter V. Saveliev wrote: > > Нарыл. Если использовать g++, то происходят описанные события. Если же cc - > > то всё работает номально. Без изменения кода. > > > > Может кто-либо прокомментировать это явление, кроме как "c++ сосёт"? Вы пытаетесь компилировать исходник на C компилятором C++? Бесполезное занятие, надо использовать соответствующий компилятор и правильно расставлять extern "C" для связи кусков на C и C++. > Разве что "libglade сосёт". > > Попробуйте сделать ваш custom callback C-функцией, т.е. extern "C". > Если после этого с использованием g++ заработает, то libglade надо править > на тему поддержки demangling'а. А надо ли? Вроде бы в общем случае extern "C" может менять даже calling convention, поэтому с точки зрения стандарта C++ отсутствие extern "C" там, где надо - ошибка. Кроме того, тут как раз не demangling, а поиск по имени, причём с неизвестной сигнатурой - т.е. вообще нерешаемая задача.