Newsgroup: it.comp.giochi.avventure.testuali
Titolo: [JIF] problema compilazione

ciao ciao.
dunque, io ho un file principale (gauss.inf) che include:
- le librerie standard;
- altre librerie;
- altri file sorgente .inf
i file sorgente a loro volta possono includere ALTRI file sorgente (heh, 
mi piace organizzare bene la struttura...).
Tutto questo sotto JIF non funziona: il problema non è nell'albero di 
inclusione più profondo di 1, infatti già i file .inf inclusi da quello 
principale non vengono trovati. Il problema è semplice: la dir. del 
progetto dovrebbe essere inclusa nel path passato al compilatore, ma non 
lo è. Ho provato ad aggiungerli a mano al progetto ma non è servito (ma 
poi a cosa serve il progetto? Solo ad aprire automaticamente più file?)
esempio: sono in gauss.inf
...
Include "Parser";
Include "smartcantgo";  ! libreria aggiuntiva
Include "VerbLib";
Include "gauss_misc.inf";  ! roba mista
Include "gauss_rooms.inf";  ! stanze
...  ! eccetera
ebbene, quando lancio la compilazione mi dà il seguente fatal error:
Couldn't open source file "C:\Programmi\Jif\extralibs\gauss_misc.inf"
\extralibs è la directory dove ho correttamente installato librerie 
aggiuntive tipo scenic.h o smartcantgo. Evidentemente lui va a cercare 
lì i miei file inclusi, ovviamente non li trova e getta la spugna.
Potrei probabilmente settare più directory (separate da virgole) come 
cartelle aggiuntive di libreria e includervi la dir. del gioco, ma mi 
pare veramente brutto usare un setting globale per forzare una cosa che 
dipende dal progetto aperto... la soluzione più semplice sembrerebbe 
aggiungere automaticamente la dir. del progetto e/o quella del file 
correntemente compilato all'include_path passato al compilatore.
Schillaci???  Che dici???     :)
ciao
S

 dunque, io ho un file principale (gauss.inf) che include:
Ooh, Gauss!! Da quanti anni va avanti 'sto progetto?
Giovanni
-- 
Giovanni Riccardi
personal: 
http://www.composizioni.net
   weblog: 
http://www.composizioni.net/addv
     work: 
http://www.anxur.it

 Ooh, Gauss!! Da quanti anni va avanti 'sto progetto?
heh, saranno quattro o cinque... almeno... :)
però non ci metto mano da più di due

 S
Fammi sapere
Ciao
Alessandro
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Mi stai dicendo che rischiamo di vedere una tua AT? ;)
Rob
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Couldn't open source file "C:\Programmi\Jif\extralibs\gauss_misc.inf"
Dico la mia senza pensarci troppo, quindi potrei sbagliare. Se ho capito 
bene gauss_misc.inf e gauss_rooms.inf sono nella stessa directory di 
gauss.inf, giusto?
Allora credo che (indipendentemente da Jif) il modo giusto per evitare 
problemi di inclusione sia quello di scrivere
 > Include ">gauss_misc.inf";  ! roba mista
 > Include ">gauss_rooms.inf";  ! stanze
e il compilatore dovrebbe cercare i file nella stessa cartella del file 
principale...
Come si suol dire, tentar non nuoce...
bye
-- 
Paolo Lucchesi
email: plucchesi(at)tin(dot)it
home page: 
http://www.paololucchesi.it
Non viviamo in un mondo perfetto...

 Se funziona, è solo una soluzione temporanea...
funzionerà certamente, il problema è che così facendo devo spostare le 
librerie aggiuntive insieme a quelle standard... poco male, comunque. 
secondo me la cosa migliore è fare un bell'include path editor che 
costruisce la stringa di inclusioni mettendoci:
* la dir del progetto (che poi non ho ancora capito a cosa serve, 'sto 
progetto - è giusto ritenere che si limita ad aprire tutti i file?)
* la dir delle lib
* la dir delle lib extra (queste due le prende dai settings)
* eventuali altre dir impostate dall'utente.
Uno sforzo minimo, direi, dato che basta costruire la stringa separata 
da virgole...
ciao
S
PS altro piccolo baco: se compilo con lo switch -G il file dovrebbe 
avere estensione .ulx e non .z. E' fastidioso dato che poi se lancio 
l'interprete (glulxe) quello non mi trova il file...

 Mi stai dicendo che rischiamo di vedere una tua AT? ;)
forse tra qualche altro anno...

 principale...
la cosa buffa è che di solito lo fa di base;  è Jif che gli passa una 
stringa Include_path che NON include la dir corrente, e così facendo 
disabilita l'auto-ricerca locale...
...comunque il tuo trucco funziona, e mi permette di tenere le librerie 
separate. bello, non l'avevo mai letto...
ciao
S

 l'interprete (glulxe) quello non mi trova il file...
Ok, grazie per la segnalazione...


 progetto...
una buona idea sarebbe definire un file "radice", consentendo all'utente 
di stabilire che il comando di compilazione deve sempre riferirsi a 
quello. Ora come ora bisogna fisicamente selezionarlo prima di lanciare 
la compilazione - non è un dramma, ma con tanti file aperti è più comodo 
lasciare aperta una shell con la riga di comando giusta, tanto più che 
così si può cambiare anche nome al file oggetto. Ah, potresti anche 
associare ctrl-f al comando trova? Ora come ora mi pare che non esista 
ancora (l'icona non fa nulla), ma anche se lo associ temporaneamente a 
replace va bene :)
ciao
S

 S
Ciao
Alessandro