Newsgroup: it.comp.lang.c
Titolo: PERCORSO INCLUDE

Ciao a tutti, vorrei chiedervi un cosa: se ho una cartella di lavro
così strutturata
DBF
  -Include
    -LPC_Include.h
  -Modulo1
    -Include
       -LPC_M1_Include.h
Come faccio ad includere in LPC_M1_Include.h il file LPC_Include.h
senza dare il percorso specifico  ?

scuffio ha scritto:

Definisci "percorso specifico": suppongo tu intenda un path assoluto,
del tipo "C:\percorso\dbf\include\..." (esempio windowsiano, dato che
sei su un windows :P).
In questo caso, se la struttura rimane _sempre_ così, puoi fare (in
LPC_M1_Include.h):
#include "../../Include/LPC_Include.h"
Sinceramente non so dirti se funziona (sono un pò alle prime armi :P),
però dovrebbe andare.
Saluti!
David
-- 
Linux Registered User #334216
Get FireFox! >> 
http://www.spreadfirefox.com/?q=affiliates&id=48183&t=1
Staff >> 
http://www.debianizzati.org
 <<

Ok così funziona, ma il mio Prf non vuole percorsi di qeusto genere
nell'include. Esiste un'altro modo  ?

 
Anzitutto, come direbbero in altri newsgroups da me frequentati, "give
appropriate context". Cioè: QUOTA.
Comunque... che vuol dire "non vuole percorsi di questo genere"? :D
Cioè, esistono due tipi di path: assoluti e relativi. Assoluti non li
vuole, relativi non li vuole... ma che vuole? :)


Ti posto una risposta che ha dato ad un mio compagno :
 include vari
ok non ho capito una cosa e dalle domande proposta questo errore pare
che l'abbia riscontrato solo io. ma come e dove va incluso il file
LPC_M1_Include?? perchè in fase di compilazione non mi viene
trovato....
-- LucaDiFilippo - 24 Mar 2006
Re: include vari
Lei è del mio canale e io a lezione l'ho spiegato. Comunque: è un
file di che va utilizzato per tutte le dichiarazioni di costanti,
funzioni e tipi dati che vi servono per realizzare il modulo e che non
sono di tipo "generale" come quelle di LPC_Include?.h. Va nella
directory DBF/Modulo1/include, il makefile lo cerca lì. Ricordo che
non vanno messi path espliciti nella direttiva include, ad esempio non
è ammesso #include "../include/LPC_M1_Include.h"
-- GianniCampanile - 25 Mar 2006
CAPISCI ??? Io non so questo che vuole !

CAPISCI ??? Io non so questo che vuole !
Vuole che istruisci il compilatore su dove trovare i file da
includere.  Nel codice, basta scrivere:
#include "pippo.h"
e poi istruire il compilatore su dove trovare questo file, mediante le
direttive apposite.  Guarda la documentazione del tuo compilatore.

MI stai dicendo che devo modificare il mio compliatore ? Io uso gcc ...
Ma la cosa mi sembra alquanto strana ! Anche il Prof quando testa il
mmio programma deve avere le stesse impostazioni del mio compilatore ?
E la portabilità va a farsi benedire ?

Grazie mille giovanni! Potresti scriveremi un esempio pratico ? Un
esempio di comandi da shell ?

MI stai dicendo che devo modificare il mio compliatore ? 
Non è questo che ti sto dicendo (mi cadono le braccia).
Sai cos'è la compilazione? un makefile?
Ti ho detto che esistono direttive specifiche di compilazione (è
possibile istruire il gcc per reperire gli include file da uno o più
percorsi specifici).

 
Usando gcc per linux:
gcc -I/usr/local/include -I../include -O2 -Wall file.c -o mioprog
Se file.c contiene la direttiva #include <esempio.h> il compilatore 
ricerca 'esempio.h' nella directory /usr/local/include, poi nella 
directory ../include e poi nelle directory di sistema.


Chirissimo. Una cosa soltanto non ho capito: io ho un file in cui devo
includere LPC_Include.h che si trova nella cartella y e in un altro
file devo include LPC_M1_Include.h
che si trova nella cartella z.
Devo usare due volte l'opzione -I ?


Si. Lo puoi usare quante volte vuoi nei limiti del compilatore.


GRANDE FUNZIONA!!!!!

Ho un'altro problema, le librerie ora vengono correttamente include, ma
non mi da il riferiemento alle funzioni presenti nel punto h ! Dove
sbaglio  ?


Cosa intendi?  Che non le trova in fase di link?


Giovanni mi puoi contattere via mail ? Il mio indirizzo è
simone...@hotmail.com