Saboteur Napisano 19 Czerwca 2005 Zgłoś Napisano 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 More sharing options...
cinek Napisano 19 Czerwca 2005 Zgłoś Napisano 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 More sharing options...
dondexterro Napisano 19 Czerwca 2005 Zgłoś Napisano 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 More sharing options...
ayem Napisano 26 Czerwca 2005 Zgłoś Napisano 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 More sharing options...