dialog

 ( athom | 2004. május 9., vasárnap - 22:48 )

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Hali!

Debian Woody-n minden további gond nélkül lefordul az alábbi kód:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <dialog.h>
#include <time.h>

int main(int argc, char *argv[] )
{
init_dialog();
end_dialog();
return 1;
}

Makefile:

CFLAGS = -g -O2
CPPFLAGS = -DHAVE_CONFIG_H
CC = gcc-2.95
LIBS = -ldialog -lncurses

dialog:
$(CC) -o d $(CFLAGS) $(CPPFLAGS) d.c $(LIBS)

Ugyanez Sarge-on (az újabb dialog miatt) már nem működik, mert eleve az init_dialog fuggvény paramétert vár, tehát a kód így módosul:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <dialog.h>

int main(int argc, char *argv[])
{
FILE *input = stdin;
dialog_state.output = stderr;
init_dialog(input, dialog_state.output);
return 1;
}

Viszont még mindig hibát ad:

make
gcc-2.95 -o d -g -O2 -DHAVE_CONFIG_H d.c -ldialog -lncurses
/usr/bin/../lib/libdialog.a(util.o)(.text+0x126a): In function `real_auto_size':
: undefined reference to `sqrt'
/usr/bin/../lib/libdialog.a(inputstr.o)(.text+0x734): In function `dlg_index_columns':
: undefined reference to `setcchar'
/usr/bin/../lib/libdialog.a(inputstr.o)(.text+0x73f): In function `dlg_index_columns':
: undefined reference to `wunctrl'
/usr/bin/../lib/libdialog.a(ui_getc.o)(.text+0x4a7): In function `dlg_getc':
: undefined reference to `wget_wch'
collect2: ld returned 1 exit status
make: *** [dialog] Error 1

Dialog forrásában megnéztem az util.c forrásban a real_auto_size függvényt. Abban tényleg használ sqrt függvényt, viszont nincs a math.h include-olva. Ez lehet a gond? (A többit még nem is követtem...)

Ha én rontok el szerintetek valamit, akkor milyen libraryt kell még hozzáadnom a Makefile-ban?

aThom

A megoldás:

-lm -lncursesw

aThom