aroneaa Pubblicato: 2 Febbraio 2011 Segnalazione Share Pubblicato: 2 Febbraio 2011 Come da titolo ho dei problemi nel compilare in C da riga di comando. Scrivendo -gcc nomefile.c mi dice che non trova le librerie, quindi dovrei aggiungere il path delle librerie credo, ma non so come si fa.. qualcuno può aiutarmi? Link to comment Condividi su altri siti More sharing options...
Darkangel Pubblicato: 3 Febbraio 2011 Segnalazione Share Pubblicato: 3 Febbraio 2011 in che modo hai scritto l'inclusione delle librerie all'interno del file c? Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 3 Febbraio 2011 Segnalazione Share Pubblicato: 3 Febbraio 2011 (modificato) Non e' nel file c che includi le librerie... li includi solo gli header. @aron, vedendo qui: http://gcc.gnu.org/onlinedocs/gcc/Link-Options.html credo che tu possa usare il flag -L per indicare il path aggiuntivo in cui cercare le librerie. E' meglio se posti il messaggio di errore esatto che ti viene fornito dal gcc. Modificato 3 Febbraio 2011 da Il.Socio Link to comment Condividi su altri siti More sharing options...
Darkangel Pubblicato: 3 Febbraio 2011 Segnalazione Share Pubblicato: 3 Febbraio 2011 Non e' nel file c che includi le librerie... li includi solo gli header. @aron, vedendo qui: http://gcc.gnu.org/onlinedocs/gcc/Link-Options.html credo che tu possa usare il flag -L per indicare il path aggiuntivo in cui cercare le librerie. E' meglio se posti il messaggio di errore esatto che ti viene fornito dal gcc. si è vero, ma cmq se li scrivi in modo sbagliato poi non te le trova cmq non sapevo di quell'opzione per la riga di comando Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 3 Febbraio 2011 Segnalazione Share Pubblicato: 3 Febbraio 2011 (modificato) E' almeno una decina di anni che non compilo piu' con gcc da linea di comando, rinfrescami la memoria se includi male un header, non ti segnala un errore del tipo header non trovato? ti segnala invece un errore tipo libreria non trovata? Modificato 3 Febbraio 2011 da Il.Socio Link to comment Condividi su altri siti More sharing options...
Darkangel Pubblicato: 3 Febbraio 2011 Segnalazione Share Pubblicato: 3 Febbraio 2011 (modificato) E' almeno una decina di anni che non compilo piu' con gcc da linea di comando, rinfrescami la memoria se includi male un header, non ti segnala un errore del tipo header non trovato? ti segnala invece un errore tipo libreria non trovata? beh io avro compilato da riga di comando 10 volte penso di sicuro ti segnala l'errore in modo appropriato. cioè header se è di header e di libreria se è della libreria. anche io ho avuto di questi errori ma su editor e non c'ho pensato stamattina leggendo appena svegliato ho pensato a quello e non mi son minimamente ricordato degli header . la tua risposta mi ha fatto risvegliare la cosa Modificato 3 Febbraio 2011 da Darkangel1985 Link to comment Condividi su altri siti More sharing options...
aroneaa Pubblicato: 3 Febbraio 2011 Autore Segnalazione Share Pubblicato: 3 Febbraio 2011 L'errore è:"No include path in wich to find stdio.h" All'interno del programma le librerie le ho incluse scrivendo #include<nomelibreria> Es: #include<stdio.h> Link to comment Condividi su altri siti More sharing options...
Darkangel Pubblicato: 3 Febbraio 2011 Segnalazione Share Pubblicato: 3 Febbraio 2011 hai seguito quanto detto dal socio? io stamattina dormivo quando ho letto Link to comment Condividi su altri siti More sharing options...
aroneaa Pubblicato: 3 Febbraio 2011 Autore Segnalazione Share Pubblicato: 3 Febbraio 2011 (modificato) credo di non aver ben capito.. io il file stdio.h ce l'ho nel computer.. ho anche provato a metterlo nella stessa cartella del file .cpp ma non me la vede comunque.. Modificato 3 Febbraio 2011 da aroneaa Link to comment Condividi su altri siti More sharing options...
Darkangel Pubblicato: 3 Febbraio 2011 Segnalazione Share Pubblicato: 3 Febbraio 2011 quello credo sia normale. hai provato a specificare il path della libreria nel comando gcc come indicato in quel link del socio? Link to comment Condividi su altri siti More sharing options...
aroneaa Pubblicato: 3 Febbraio 2011 Autore Segnalazione Share Pubblicato: 3 Febbraio 2011 si ma forse ho sbagliato.. allora, quando compilo io scrivevo: gcc nomefile.cpp e con questo mi da errore.. utilizzando il -L dovrei scrivere così?: gcc -L d:\percorso\percorso nomefile.cpp Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 3 Febbraio 2011 Segnalazione Share Pubblicato: 3 Febbraio 2011 (modificato) L'errore è:"No include path in wich to find stdio.h" All'interno del programma le librerie le ho incluse scrivendo #include<nomelibreria> Es: #include<stdio.h> chiariamo due cose: libreria e header sono due cose diverse... (sono proprio 2 file diversi e che possono risiedere in path differenti) quando dici header, stai facendo riferimento al file stdio.h quando dici libreria, stai facendo riferimento al file xxxx.xxxxx (forse libstdio.a) che contiene il codice eseguibile di tutte le funzioni presenti dentro stdio sono gli header che includi nei codici sorgente ed in altri header (non includi delle librerie) le librerie invece, le linka il compilatore (o meglio il linker) per generare il tuo eseguibile. detto cio'... sembra che non ti trova l'header (non la libreria) Quindi, individua sull'hard-disk il path in cui si trova il file stdio.h ed accertati che quel path sia presente in quelli che vengono presi in considerazione dal compilatore. Modificato 3 Febbraio 2011 da Il.Socio Link to comment Condividi su altri siti More sharing options...
aroneaa Pubblicato: 3 Febbraio 2011 Autore Segnalazione Share Pubblicato: 3 Febbraio 2011 ma il -l va usato da riga di comando come ho scritto sopra? Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 3 Febbraio 2011 Segnalazione Share Pubblicato: 3 Febbraio 2011 (modificato) Credo di si, ma non fai prima a provare? Se provi, ti garantisco che il pc non salta in aria Modificato 3 Febbraio 2011 da Il.Socio Link to comment Condividi su altri siti More sharing options...
aroneaa Pubblicato: 3 Febbraio 2011 Autore Segnalazione Share Pubblicato: 3 Febbraio 2011 ma figurati se mi faccio problemi a provare!! :lol: Son qua che provo in continuazione!! però mi da sempre no include path in which to find stdio.h Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 3 Febbraio 2011 Segnalazione Share Pubblicato: 3 Febbraio 2011 Il flag -L ti serve per il path delle librerie, non per gli header... Nel tuo caso sono gli header che non vengono trovati. Probabilmente, devi aggiungere il path del tuo stdio.h a qualche variabile di ambiente. Link to comment Condividi su altri siti More sharing options...
aroneaa Pubblicato: 3 Febbraio 2011 Autore Segnalazione Share Pubblicato: 3 Febbraio 2011 d'accordo, ma come si fa? Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 3 Febbraio 2011 Segnalazione Share Pubblicato: 3 Febbraio 2011 (modificato) se sei sotto prompt di dos, ti basta fare un set VARIABILE=%VARIABILE%;PathDaAggiungere se sei sotto linux, non mi ricordo... Ovviamente, VARIABILE non deve essere "a casaccio", deve essere quella che viene presa in considerazione dal gcc e che usa per determinare l'insieme dei path in cui ricercare gli header. PathDaAggiungere e' invece il path in cui si trova il tuo stdio.h Modificato 3 Febbraio 2011 da Il.Socio Link to comment Condividi su altri siti More sharing options...
aroneaa Pubblicato: 3 Febbraio 2011 Autore Segnalazione Share Pubblicato: 3 Febbraio 2011 ok.. inizio già a capirci di più.. ma in che modo mi è possibile trovare qual è la variabile che gcc prende in considerazione? :D Scusa se ti rompo.. Link to comment Condividi su altri siti More sharing options...
aroneaa Pubblicato: 3 Febbraio 2011 Autore Segnalazione Share Pubblicato: 3 Febbraio 2011 ok, le variabili di ambiente le ho trovate.. ora faccio qualche prova comunque grazie di tutto!! ^_^ Link to comment Condividi su altri siti More sharing options...
Il.Socio Pubblicato: 3 Febbraio 2011 Segnalazione Share Pubblicato: 3 Febbraio 2011 ok, le variabili di ambiente le ho trovate.. ora faccio qualche prova Dove l'hai trovata e qual'e'? Link to comment Condividi su altri siti More sharing options...
aroneaa Pubblicato: 3 Febbraio 2011 Autore Segnalazione Share Pubblicato: 3 Febbraio 2011 Dove l'hai trovata e qual'e'? L'ho trovata qua http://www.matteolucarelli.net/opendev/gcc.htm ed è CPATH Link to comment Condividi su altri siti More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Accedi Ora