ďťż

Ładny brzuch

Oto program:
#include<stdio.h>
#include<iostream.h>
#include<unistd.h>
#include<ncurses.h>
int main()
{
char *tab[]={"abc","abcdef","bcdwklj","sdkjaderf",NULL};
// wypisz(tab,2,1);
initscr();
while(getch() != 11 )
{
int a=getch();
cout << a<<endl;
}
endwin();
}

A oto błędy :
g++ lista.c
/tmp/ccD7inmZ.o(.text+0xc2): In function `main':
: undefined reference to `initscr'
/tmp/ccD7inmZ.o(.text+0xcb): In function `main':
: undefined reference to `stdscr'
/tmp/ccD7inmZ.o(.text+0xd0): In function `main':
: undefined reference to `wgetch'
/tmp/ccD7inmZ.o(.text+0xe3): In function `main':
: undefined reference to `stdscr'
/tmp/ccD7inmZ.o(.text+0xe8): In function `main':
: undefined reference to `wgetch'
/tmp/ccD7inmZ.o(.text+0x119): In function `main':
: undefined reference to `endwin'
collect2: ld returned 1 exit status

...Co wy na to ? Wygląda jakby nie widział biblioteki curses.h , lecz ona tam jest...



System to oczywiście Red Hat Linux 9.0

#include<ncurses.h>
Dodałeś nagłówek o ile się nie myle są tam deklaracje funkcji
potrzeba jeszcze przy linkowaniu dodać odpowiednią biblioteke statyczną z ciałami funkcji :cheesy:

Programista nie wielbłąd wypić musi :D

...hmmm dodałem ncurses.h , ale chyba nie w tym rzecz bo wyskakuje to samo ,:
#include<curses.h>
#include<ncurses.h>
main()
{
initscr();
endwin();
}



dobrze , już wszystko jasne . Można dodać curses.h || ncurses.h .
ale trzeba recznie je zlinkować dzieki ERA , z początku nie zajarzyłem.

hmm zacznijmy od tego czy ty wiesz aby co to jest biblioteka statyczna
:roll:

ncurses.h jak się domyślam zawiera ino deklaracje funkcji

a biblioteka statyczna zawiera te funkcje w wersji już skompilowanej
więc
ld -o prog.bin mojprog.o ncurses.o [nie pamiętam dokładnie parametrów linkera :cheesy:]

o ile wogóle ta biblioteka nazywa się ncurses.o

Programista nie wielbłąd wypić musi :D

gcc plik.c -lncurses -o costam
parametr -l dolacza biblioteke, w tym przypadku plik libncurses.o
(biblioteki kompilatora gcc musza miec przedrostek lib)

_______________________________________________________________________
Zajrzyj na http://hno.freeshell.org - artykuły, tipsy, soft, programowanie, Linux i inne.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •