Ciao a tutti,
ho alcuni progetti che uso sia a casa che al lavoro. Se modifico questi progetti dal PC del lavoro, quando poi vado a casa, li ricompilo con il comando "lazbuild", e viceversa se li modifico quando sono a casa.
Questa cosa la faccio in media una volta a settimana.
Da un paio di settimane, mi sta succedendo una cosa strana: ho un progetto, che se lo compilo dall'IDE è tutto ok. Se invece lo compilo con lazbuild mi da questo errore:
Hint: (lazbuild) Primary config path: "C:\Users\Mario\AppData\Local\lazarus"
Hint: (lazarus) [TBuildManager.SetBuildTarget] Old=x86_64-win64--win32 New=x86_64-win64--win32 Changed: OS/CPU=True LCL=False
Error: (lazbuild) Project has no main unit
Se dovesse servire, il comando che lancio per compilarlo è questo:
C:\Lazarus\lazbuild.exe C:\Pascal\LazarusLavoro\MyCompSpec\MyCompSpec.lpi
Avete idea di cosa posso guardare per sistemare?
Grazie, Mario
Casomai servisse altri in futuro, dovrei aver trovato.
Fortunatamente faccio un backup giornaliero de sorgenti e, analizzando quelli, ho visto che tra quello del 5 agosto e quello del 6 c'era una differenza immotivata nel file .lpi: da un giorno all'altro era scomparsa la sezione "Units" con tutte le sue sottosezioni.
Essendo passato un mese, non ho idea di cosa sia successo quel giorno, anche se mi piacerebbe capirlo ;D ;D
La cosa strana, è comunque che da quel giorno ho modificato e ricompilato da IDE almeno una decina di volte quel progetto, ma evidentemente non basta questo per "ricostruire" quella sezione nel file .lpi
è possibile che recentemente tu abbia inserito un nuovo package tra le dipendenze?
Edit:
fai un paio di prove escludendo il .lpi quando sposti il progetto
io spesso quel file non lo copio quando sposto un progetto da un IDE all'altro
A memoria ti direi che non ho aggiunto Packages, ed anche confrontando i sorgenti, non mi sembra. Nel file lpi l'unica differenza è la mancanza della sezione Units, se avessi aggiunto tolto packages dovrei vederlo anche lì, giusto?
Per il resto, la cosa funziona così:
- tutti i miei sorgenti sono in una cartella, con una sottocartella per ogni progetto
- sul PC dove faccio la modifica, faccio lo zip della cartella principale
- "sull'altro PC", cancello la cartella principale e faccio l'unzip
Quindi dovrei avere la copia esatta ... boh !!!
credo che lazbuild e l'ide di lazarus non condividano per forza i package
leggi quì alla voce --add-package
https://wiki.lazarus.freepascal.org/lazbuild
un progetto può essere compilato con un determinato package anche se questo package è solo nell'ide
non necessariamente tra le uses
forse c'è qualche package aggiuto nell'ide?
A proposito:
prova anche Project/PublishProject: ti mette in una cartella uno zip con tutto il necessario.
Sicuramente tra giugno ed agosto ho fatto qualcosa con i packages, ma onestamente non ricordo se era per questo progetto o no.
Ho anche aggiornato Lazarus dai sorgenti in sviluppo, per cui non vorrei essermi imbattuto in un bug, che però non so come riprodurre !!!