[devel] libglade
Peter V. Saveliev
=?iso-8859-1?q?peet_=CE=C1_altlinux=2Eru?=
Вс Янв 4 22:41:20 MSK 2004
On Sun, 4 Jan 2004 18:01:51 +0300
Sergey Vlasov <vsu на altlinux.ru> wrote:
<skip />
> Вы пытаетесь компилировать исходник на C компилятором C++?
> Бесполезное занятие, надо использовать соответствующий компилятор и
> правильно расставлять extern "C" для связи кусков на C и C++.
Тот кусок, который собираю, можно назвать С, но я точно знаю, что С++ там
появится через неделю. Поэтому изначально собирал g++, чтобы потом ничего
не менять. Идея попробовать cc пришла инсайтом.
>
> > Разве что "libglade сосёт".
> >
> > Попробуйте сделать ваш custom callback C-функцией, т.е. extern "C".
> > Если после этого с использованием g++ заработает, то libglade надо править
> > на тему поддержки demangling'а.
>
> А надо ли? Вроде бы в общем случае extern "C" может менять даже
> calling convention, поэтому с точки зрения стандарта C++ отсутствие
> extern "C" там, где надо - ошибка.
>
> Кроме того, тут как раз не demangling, а поиск по имени, причём с
> неизвестной сигнатурой - т.е. вообще нерешаемая задача.
>
Огромное спасибо, читаю info:/gccint. Директива extern "C" {} помогла, всё
собирается и работает нормально.
--
Sincerely, Peter V. Saveliev
E-mail: peet на altlinux.ru
Jabber: peet на jabber.ru
Подробная информация о списке рассылки Devel