Saboteur Opublikowano 19 Czerwca 2005 Zgłoś Opublikowano 19 Czerwca 2005 dlaczego przy kompilacji jakiegokolwiek programu za pomocą gcc wyskakuje brak pliku z bibliotekami np. curses.h, stdlib.h . pthread.h. , chyba wszystkich jakie są w programach Uzywam cdlinuxa malego uruchomionego przez boot cd z ramdyskami. a może jednak to błąd kompilacji ale nie sądze: #include <curses.h> #include <stdio.h> #include <stdlib.h> #define DLUGOSC 100 #define LEWO 1 #define PRAWO 2 #define GORA 3 #define DOL 4 int x[DLUGOSC]; int y[DLUGOSC]; int kierunek=PRAWO; int dlugosc=5; int main(int argc, char*argv[]) { WINDOW *win,*win2; int maxWidth,maxHeight; int i,exit=1; char ch; for(i=0; i<DLUGOSC; i++) { x=1; y=1; } initscr() ; noecho() ; getmaxyx(stdscr,maxHeight,maxWidth) ; win=newwin(maxHeight/2,maxWidth,0,0) ; win2=newwin(maxHeight/2,maxWidth,maxHeight/2+1,0) ; nodelay(win,TRUE) ; box(win,0,0) ; box(win2,0,0) ; scrollok(win2,TRUE) ; while(exit) { //pobierz znaczek ch=wgetch(win) ; switch(ch) { case 'q': exit=0 ; break ; case '8': kierunek=GORA ; break ; case '2': kierunek=DOL ; break ; case '4': kierunek=LEWO ; break ; case '6': kierunek=PRAWO ; break ; } //skasuj ogon wmove(win,y[dlugosc-1],x[dlugosc-1]) ; wprintw(win," ") ; //przesun weza for(i=dlugosc-2;i>=0;i--) { x[i+1]=x; y[i+1]=y; } //przesun glowe switch(kierunek) { case LEWO: x[0]--; break; case PRAWO: x[0]++; break; case GORA: y[0]--; break; case DOL: y[0]++; break; } //wprintw(win2,"pozycja glowy: (%d,%d), pozycja ogona: (%d,%d)\n",x[0],y[0] if(x[0]<=0 || x[0]>=maxWidth-1 || y[0]<=0 || y[0]>=maxHeight/2-1){ wprintw(win," KONIEC "); exit = 0; } for(i=0; i<dlugosc; i++) { wmove(win,y,x) ; wprintw(win,"*") ; } wrefresh(win) ; sleep(1) ; } endwin() ; } Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
cinek Opublikowano 19 Czerwca 2005 Zgłoś Opublikowano 19 Czerwca 2005 A masz te pliki w systemie? sprawdz czy leza np. w /usr/include/ z ncurses jest tez nieraz taki myk ze pliki nie siedza bezposrednio w /usr/include tylko w /usr/include/ncurses, czyli w programie powinno byc: #include <ncurses/curses.h> No ale najlatwiej bedzie Ci po prostu sprawdzic czy masz te pliki w systemie. Mozliwe, ze jako plytka bootcd nie ma pakietow -devel z plikami naglowkowymi. pozdr. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
dondexterro Opublikowano 19 Czerwca 2005 Zgłoś Opublikowano 19 Czerwca 2005 (edytowane) post nieaktualny, nie na temat byl ;D Edytowane 19 Czerwca 2005 przez dondexterro Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ayem Opublikowano 26 Czerwca 2005 Zgłoś Opublikowano 26 Czerwca 2005 sprawdz jaki blad wyskakuje, jesli nie m oze znalezc naglowkow to proponuje: # gcc-config -L # gcc-config [nr] gdzie -l wypisze dostepne wersja, a ta druga linijka umozliwi wybor kompilator defaultowego - moze pomoc Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...