Re: fontutils-0.7 не получается собрать
Mad Cat -> debian-russian@lists.debian.org @ Fri, 07 Apr 2006 01:36:10 +0400:
>>>В одном из фалов (Form.с) есть такая процедура:
>>>static void RefigureLocations(w)
>>> FormWidget w;
>>>
>>>
>>
>>Это объявление функции в стиле Kernigan-Ritchie. Новым gcc такое не
>>поддерживается замени ее на (и без точки-запятой):
>>static void RefigureLocations(FormWidget w)
>>
>>
>>
>>>{
>>> if (w->form.no_refigure) {
>>> w->form.needs_relayout = True;
>>> }
>>> else {
>>> (*((FormWidgetClass)w->core.widget_class)->form_class.layout)
>>> ( w, w->core.width, w->core.height ); //мат на вот эту строчку
>>> w->form.needs_relayout = False;
>>> }
>>>}
>>>
>>>Компилятор на неё ругается.
>>>Form.c: In function `RefigureLocations':
>>>Form.c:240: Error: error: too few arguments to function
>>>
>>>
>>
>>--
>>Max
>>
>>
MC> Там подобных объявлений море. Но компилятор их "проглатывает".
MC> Проблема возникает в двух вызовах:
MC> 1. (*((FormWidgetClass)w->core.widget_class)->form_class.layout)( w,
MC> w->core.width, w->core.height );
MC> 2. (*((ViewportWidgetClass)w->core.widget_class)->form_class.layout)(
MC> (FormWidget)w, w->core.width, w->core.height );
MC> Оба вызова неудачны из за недостаточного количества аргументов функций.
MC> Вот мне и интересно каких параметров этим функциям не хватает. Функции из
MC> библиотек пакета libxaw7-dev.
MC> Если кто писал что либо с этими либами - ткните где почитать...
У тебя используется коллбэк. Соответственно, в описании структуры, в
которую он записан (смотреть, какой тип имеет поле form_class в
структурах FormWidgetClass и ViewportWidgetClass) должен быть указан его
тип. Как тип поля layout. Найди его да посмотри.
--
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru
Обновление Windows изменило интуитивно ясный интерфейс Вашего компьютера.
Загрузите обновление интуиции с сайта Microsoft.
(С)энта
Reply to: