|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Apr 2005
Messaggi: 74
|
[c] su linux
ciao a tutti, mi sono affacciato da pochissimo su linux e quindi molto niubbo. Ho installato ubuntu come macchina virtuale su VmWare. Avvio e prendo un programma in c molto semplice per prendere confidenza con questo nuovo SO. Il programmino è molto semplice: fa una fork e poi da 2 msg a video x il padre e per il figlio.
Il problema appare quando cerco di compilare poichè gcc non mi riconosce le librerie. Cosa devo fare? inserisco il programmino che voglio lanciare e le segnalazioni d'errore: #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int main() { pid_t Pid; int stat_val; Pid=fork(); switch (Pid) { case -1: fprintf(stderr, "fork failed\n"); return(1); case 0: /* Child */ printf("\nSono il figlio......"); sleep(3); exit(0); break; } waitpid(Pid,(int *)0,0); printf("\nSono il padre......"); return(0); } e gli errori: got@virtual-ubuntu:~/Desktop$ gcc -o es5 es5.c es5.c:9:20: error: stdio.h: No such file or directory es5.c:10:20: error: stdlib.h: No such file or directory es5.c:11:20: error: unistd.h: No such file or directory es5.c:12:20: error: string.h: No such file or directory es5.c:13:23: error: sys/types.h: No such file or directory es5.c:14:22: error: sys/stat.h: No such file or directory es5.c:15:19: error: fcntl.h: No such file or directory es5.c: In function ‘main’: es5.c:22: error: ‘pid_t’ undeclared (first use in this function) es5.c:22: error: (Each undeclared identifier is reported only once es5.c:22: error: for each function it appears in.) es5.c:22: error: expected ‘;’ before ‘Pid’ es5.c:25: error: ‘Pid’ undeclared (first use in this function) es5.c:28: warning: incompatible implicit declaration of built-in function ‘fprintf’ es5.c:28: error: ‘stderr’ undeclared (first use in this function) es5.c:31: warning: incompatible implicit declaration of built-in function ‘printf’ es5.c:33: warning: incompatible implicit declaration of built-in function ‘exit’ es5.c:40: warning: incompatible implicit declaration of built-in function ‘printf’ got@virtual-ubuntu:~/Desktop$ |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7250
|
installa build-essential da synaptic
![]() |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Apr 2005
Messaggi: 74
|
quando seleziono il build-essential da synaptic mi dice che x installarlo ci sono dei pacchetti collegati da installare come g++ e dpkg-dev. Li ho marcati tutti e poi li ho installati (almeno credo) ma col complatore gcc non è cambiato nulla. Come posso vedere se ho installato correttamente? Grazie mille
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7250
|
Quote:
|
|
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Apr 2005
Messaggi: 74
|
ok, non so cosa avessi fatto prima, ho provato a ricercare build-essential e l'ho installato ed è partita l'installazione anche del resto collegato. ho provato a compilare ore il file c ed ho ottenuto finalmente l'eseguibile. Per lanciarlo non è sufficiente digitare il nome eseguibile seguito da invio? la shell mi risponde con command not found?!?
|
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7250
|
Quote:
![]() ![]() |
|
![]() |
![]() |
![]() |
#7 | |
Registered User
Iscritto dal: Sep 2002
Messaggi: 1025
|
Quote:
Studiati le opzioni di gcc e gdb che sono strumenti potentissimi. E, soprattutto all'inzio, compila sempre usando gcc -ansi -Wall -pedantic Che sennò ti porti dietro le cattive abitudini di Win |
|
![]() |
![]() |
![]() |
#8 |
Member
Iscritto dal: Apr 2005
Messaggi: 74
|
me le andrò a guardare.
intanto grazie mille x l'aiuto. |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7250
|
|
![]() |
![]() |
![]() |
#10 |
Member
Iscritto dal: Apr 2005
Messaggi: 74
|
si si, ci andro'
![]() |
![]() |
![]() |
![]() |
#11 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
è un'idiozia usare il C89 quando esiste il C99 o anche il C++. Microsoft ha fatto bene a realizzare a suo tempo delle estensioni del C che somigliano molto alle novità introdotte dal C99; ha fatto anche male però a non supportare il C99 vero e proprio. come opzioni di compilazione per compilare files .c io consiglio semplicemente -std=c99; o, meglio ancora, compilare direttamente files .cpp/.cxx :P
|
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Nov 2001
Messaggi: 6139
|
scusa ma questo esercizio mi ricorda molto i miei esercizi di sistemi operativi 2 che sto facendo ora all'uni..
grazie al consiglio delle build essenzial sono riuscito a compilare.. domanda all'università mi sembra che dando man per funzioni come fork ect mi dia il manuale mentre qua a casa avendo ubuntu e installazione semi default non funziona. ho installato con synapt gcc-doc pensavo fossero quelli da installare ma non mi dà nessun man di funzioni c. avete qualche consiglio? grazie |
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7250
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Per installare le manpage della libreria standard installa il pacchetto manpages-dev da synaptic...
|
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Nov 2001
Messaggi: 6139
|
grazie mille mi hai risposto anche di là e ho risolto.
|
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Lo dicevo anche per gorten
![]() Edit: azz, ho visto solo ora che il thread era vecchio ![]() Ultima modifica di cionci : 28-04-2007 alle 18:05. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:20.