Mad Cat wrote:
Victor Wagner wrote:
On 2006.04.05 at 00:05:31 +0400, Mad Cat wrote:
Ну ты силен, с ходу с Xaw на Motif портировать!
Может быть проще libxaw7-dev поставить и добиться работы с тем, что
автор прописал?
Еслиб еще знать что за Xaw и Motif и какие к ним библиотеки идут...
Я
Это такие библиотеки интерфейсных элементов для X. Самые древние,
кстати. Обе базируются на более низкоуровневом тулките Xt, поэтому
несколько похоже. Xaw aka Athena Widgets - это вообще reference
implementation GUI, который всю жизнь распространялся под MIT-лицензией
в комплекте X-ов. Поэтому в fontutils его и используют. По соображениям
"у всех есть".
Motif - намного попродвинутей, но до недавнего времени был коммерческим.
Уже успели GNU-шную альтернативную реализацию написать, lesstif, и
только после этого его открыли. Правда, с ограничениями, поэтому
OpenMotif в Debian в секции non-free.
Чего бы по этому поводу почитать... Ну у Амстронга в "Секретах Unix"
по-моему что-то было. Это книжка вообще заслуживает внимания.
Естественно, есть основополагающий O'Reilly-вский 8-томник про X-ы, там
всё это изложено (если только не Xview edition, которое давно out of
print и описывает тулкит Xview, который НЕ базируется на Xt, в отличие
от Athena, Motif и OLIT).
В одном из фалов (Form.с) есть такая процедура:
static void RefigureLocations(w)
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
Я так понял по ссылке вызывается некоторая функция и ей передаются
параметры w, w->core.width и w->core.height
Эта функция по всей видимости входит в состав Xaw.
Чего ей не хватает? (или какая версия библиотек libxaw нужна?)
Вот еще одна подобная проблемма (нехватка аргументов)
(*((ViewportWidgetClass)w->core.widget_class)->form_class.layout)
( (FormWidget)w, w->core.width, w->core.height );
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]