[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