Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: SB - Giugno 14, 2019, 06:16:14 pm

Titolo: Problema di compilazione
Inserito da: SB - Giugno 14, 2019, 06:16:14 pm
Ho un problema di compilazione che non riesco a risolvere e di cui non ho trovato informazioni sul web.
Ho un progetto in cui la compilazione incrementale (CTRL+F9) non funziona. Fallisce la ricerca di alcuni file che in realtà esistono (sono presenti sia i sorgenti che i compilati).
La compilazione totale (SHIFT+F9) trova tutto e va a buon fine.
Una cosa diversa da altri progetti in cui la compilazione incrementale funziona è che questo progetto prevede un percorso di ricerca aggiuntivo in una cartella diversa da quella principale.
Il progetto è stato importato da un progetto Delphi.
Lavoro su Linux e ho la versione 2.0.2 di Lazarus
Avete un'idea di cosa potrebbe essere?
Titolo: Re:Problema di compilazione
Inserito da: xinyiman - Giugno 15, 2019, 10:50:46 pm
Devo dire che non mi è mai capitato. Onestamente è davvero anomalo come comportamento.
Titolo: Re:Problema di compilazione
Inserito da: SB - Giugno 16, 2019, 04:13:40 pm
Già, davvero strano. Riesco a lavorarci lo stesso, ma è una scocciatura.
Titolo: Re:Problema di compilazione
Inserito da: SB - Luglio 25, 2019, 09:05:01 am
Aggiornamento
Ho finalmente trovato l'errore
In una unit il nome della unit indicato internamente aveva una lettera con case diverso dal nome del file, che viene usato nelle uses.
La cosa mi sembra un po' demenziale in un linguaggio case-insensitive, tanto più che la ricompilazione totale funzionava senza problemi, ma evidentemente il fatto che il sistema operativo sia Linux (case-sensitive) dà qualche problema al compilatore.
Titolo: Re:Problema di compilazione
Inserito da: xinyiman - Luglio 25, 2019, 10:40:32 am
Aggiornamento
Ho finalmente trovato l'errore
In una unit il nome della unit indicato internamente aveva una lettera con case diverso dal nome del file, che viene usato nelle uses.
La cosa mi sembra un po' demenziale in un linguaggio case-insensitive, tanto più che la ricompilazione totale funzionava senza problemi, ma evidentemente il fatto che il sistema operativo sia Linux (case-sensitive) dà qualche problema al compilatore.
Bhe li non conta il linguaggio ma propio il sistema operativo. Essendo lazarus installato su Linux quando ricerca il file basandosi sul nome della unit non lo trova perchè è il sistema operativo con non lo considera la stessa cosa. Comunque svelato l'arcano. Meglio così.