Jump to content
Nokioteca Forum

Compilare In C Da Riga Di Comando


Recommended Posts

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
Share on other sites

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.

Edited by Il.Socio
Link to comment
Share on other sites

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
Share on other sites

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?

Edited by Il.Socio
Link to comment
Share on other sites

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

Edited by Darkangel1985
Link to comment
Share on other sites

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..

Edited by aroneaa
Link to comment
Share on other sites

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.

Edited by Il.Socio
Link to comment
Share on other sites

se sei sotto prompt di dos, ti basta fare un

set VARIABILE=%VARIABILE%;PathDaAggiungere

se sei sotto linux, non mi ricordo... :D

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

Edited by Il.Socio
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...

Important Information

Questo sito utilizza i cookie per analisi, contenuti personalizzati e pubblicità. Continuando la navigazione, accetti l'utilizzo dei cookie da parte nostra | Privacy Policy