Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: renabor - Ottobre 12, 2015, 09:33:30 pm

Titolo: Compilazione programmi da shell
Inserito da: renabor - Ottobre 12, 2015, 09:33:30 pm
Ciao a tutti,
c'è un modo per compilare un programma lazarus direttamente dalla shell di linux, quindi senza lanciare l'IDE ma mantenendo i settaggi impostati in precedenza?
Ho anche un altro problema. Ho fatto un programma che utilizza dei componenti visuali ma che a me farebbe comodo lanciare da shell, senza quindi usare l'interfaccia grafica, ma che non parte. Come posso risolvere?
Titolo: Re:Compilazione programmi da shell
Inserito da: bonmario - Ottobre 13, 2015, 07:50:43 am
lo puoi compilare così:
lazbuils NomeFile.lpi

Ciao, Mario
Titolo: Re:Compilazione programmi da shell
Inserito da: nomorelogic - Ottobre 13, 2015, 11:51:30 am
Ho anche un altro problema. Ho fatto un programma che utilizza dei componenti visuali ma che a me farebbe comodo lanciare da shell, senza quindi usare l'interfaccia grafica, ma che non parte. Come posso risolvere?

puoi usare i parametri a linea di comando per automatizzare il lancio delle procedure

meglio ancora sarebbe se tu riuscissi a separare la logica del programma dall'interfaccia, tipo tramite una classe dedicata a fare una determinata operazione
in questo modo le cose sono molto più facili
Titolo: Re:Compilazione programmi da shell
Inserito da: renabor - Ottobre 13, 2015, 09:47:11 pm
lo puoi compilare così:
lazbuils NomeFile.lpi

Ciao, Mario

così parte, ma tenta di ricompilare tutto lazarus ogni volta e in ogni caso non riesce a finire il build per una marea di errori
Titolo: Re:Compilazione programmi da shell
Inserito da: renabor - Ottobre 13, 2015, 09:48:46 pm

puoi usare i parametri a linea di comando per automatizzare il lancio delle procedure


... era quello che speravo di avere come consiglio  ;)
Titolo: Re:Compilazione programmi da shell
Inserito da: bonmario - Ottobre 14, 2015, 07:29:34 pm
così parte, ma tenta di ricompilare tutto lazarus ogni volta e in ogni caso non riesce a finire il build per una marea di errori

scusa, il comando era lazbuild, non lazbuils ...

P.S. Puoi fare un copia & incolla del comando che lanci e da dove lo lanci?
Da quello che scrivi, sembra che tu stia lanciando lazbuild lazarus.lpi

Ciao, Mario
Titolo: Re:Compilazione programmi da shell
Inserito da: renabor - Ottobre 14, 2015, 10:29:12 pm
così parte, ma tenta di ricompilare tutto lazarus ogni volta e in ogni caso non riesce a finire il build per una marea di errori

scusa, il comando era lazbuild, non lazbuils ...

P.S. Puoi fare un copia & incolla del comando che lanci e da dove lo lanci?
Da quello che scrivi, sembra che tu stia lanciando lazbuild lazarus.lpi

Ciao, Mario

avevo capito ;-)
il comando che lancio è proprio
lazbuild test.lpi

che porta ad una compilazione completa di lazarus, come ho letto anche da altre parti in rete.
Niente, al momento tengo il programma così e quando ho tempo lo converto in puro freepascal
grazie !
Titolo: Re:Compilazione programmi da shell
Inserito da: bonmario - Ottobre 15, 2015, 07:55:40 am
Guarda, ho appena riprovato per scrupolo:
Codice: [Seleziona]
C:\Pascal\LazarusLavoro\GestioneRps>c:\lazarus\lazbuild GestioneRps.lpi

Mi ha compilato solo il mio progetto "GestioneRps.lpi" e non tutto Lazarus.
Potresti provare a redirigere l'output del comando su un file di testo e postare qui il risultato.

Ciao, Mario
Titolo: Re:Compilazione programmi da shell
Inserito da: renabor - Ottobre 15, 2015, 11:01:38 am
Guarda, ho appena riprovato per scrupolo:
Codice: [Seleziona]
C:\Pascal\LazarusLavoro\GestioneRps>c:\lazarus\lazbuild GestioneRps.lpi

Mi ha compilato solo il mio progetto "GestioneRps.lpi" e non tutto Lazarus.
Potresti provare a redirigere l'output del comando su un file di testo e postare qui il risultato.

Ciao, Mario
Mi sa che su linux le cose girano diversamente, o forse dipende dal fatto che ho installato la versione trunk di lazarus, comunque ti allego il log
Titolo: Re:Compilazione programmi da shell
Inserito da: bonmario - Ottobre 15, 2015, 12:20:35 pm
Uso quel comando da anni, sia su Windows che su Linux e non mi ha mai ricompilato Lazarus !!!!
L'unica cosa che ho notato dal tuo log è che usi FPC 3.1.1. Io invece sia su Windows che su Linux ho la 2.6.4. Non credo però che dipenda da quello.
Per quanto riguarda invece Lazarus, uso la versione SVN su tutti e 2 i sistemi operativi.

Ciao, Mario
Titolo: Re:Compilazione programmi da shell
Inserito da: bonmario - Ottobre 15, 2015, 01:31:11 pm
Stavo riuardando il tuo log, e mi sono reso conto che verso la fine parte la compilazione del tuo progetto:
"project1.lpi" che si trova in "/home/renabor/development/quandl/"

Mi sorge dunque un sospetto: quando compili un qualsdiasi progetto, anche dall'IDE di Lazarus, se si rende conto che il progetto ha qualche dipendenza con i sorgenti più recenti degli oggetti finali, ricompila anche queste dipendenze.
Mi viene il sospetto che tu possa ricadere per qualche motivo in questa situazione.
Infatti, se cerchi nel tuo log la parola "compila", vedrai che prima compila 8 pacchetti, poi prova a compilare il tuo progetto. La compilazione di Lazarus non parte mai !!!

Ciao, Mario