Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: andrea dotta - Settembre 29, 2012, 11:47:51 pm

Titolo: Compilare per arm linux
Inserito da: andrea dotta - Settembre 29, 2012, 11:47:51 pm
Buongiorno a tutti!
sono nuovo del forum e non sapendo in quale sezione è più corretto il quesito lo posto qui. ;)
problema: ho lavorato spesso con progetti Delphi e ora sempre per lavoro ho la necessità di compilare piccoli applicativi per ARM-Linux. Mi sono quindi avvicinato a Lazarus ma vorrei poter compilare restando in piattaforma windows 64. Non sono pratico di linux e di cross-compiling. Ho provato a seguire le indicazioni sul wiki e su altre pagine ma non riesco ad arrivare a capo di nulla.
1- ho letto che sarebbe meglio lavorare su Ubuntu o Debian con Lazarus e compilare da li. (per me non è un problema insormontabile se non c'è altra soluzione...ma preferirei restare su win)
2- non riesco a capire se è possibile e cosa si deve fare per poter far funzionare il compilatore sotto Lazarus in windows (visto che nelle opzioni di progetto c'è la possibilità di scegliere il OS e la CPU)
3- domanda stupida (ma non per me:P) Ho fatto qualche prova sotto Android generando file apk. Cosa mi devo aspettare per fare la stessa cosa su ARM-linux. (mi basterebbe capire come creare un applicativo che genera una finestra "HELLO WORLD!" su tablet arm-linux)

se qualcuno mi può dare una mano e mi spiegasse terra terra come fare sarebbe molto importante per me!!

grazie

Andrea
Titolo: Re:Compilare per arm linux
Inserito da: xinyiman - Settembre 30, 2012, 02:38:42 pm
Ciao Andrea, innanzitutto benvenuto sulla community. Ti consiglio di creare una virtualizzazione a 32 bit di ubuntu eviti tanti grattacapi. Io tempo addietro ci avevo provato a compilare per linux da windows e viceversa, ma non ero riuscito a cavarne un ragno dal buco. Hai menzionato il fatto che hai creato qualcosa per android con lazarus?! Funziona?!
Titolo: Re:Compilare per arm linux
Inserito da: Stilgar - Settembre 30, 2012, 09:21:33 pm
Ciao Andrea,
 per la compilazione cross in quanto tale non è un grosso problema.  L'ide permette e supporta il cross compiling, eventualmente è il debug che diventa un massacro.
Lavorando sulla piattaforma per cui compili, è il debug ad essere semplificato.
In linea di massima potresti creare 2 versioni del programma. Uno per window e uno per linux.
Aggiungi che la rogna è aggravata dal cambio di achitettura del processore. Sotto Windows dovresti usare un emulatore Arm-Linux.
Nel mio caso uso 2 compilatori (window 32 e arm-nintendo).
Basta mettere i compilatori sotto la cartella
Codice: [Seleziona]
{driver}:\Programmi\Lazarus\fpc\{versione}\bin\
e le unit dentro
Codice: [Seleziona]
{driver}:\Programmi\Lazarus\fpc\{versione}\units\

All'avvio l'ide, chiede che compilatore usare per i progetti che andrai a compilare.
Quando indico il compilatore nds, rogna un pochino con la versione nintendo del compilatore, ma poi mi lascia pastrocchiare con il codice. (Lamenta che il file di configurazione non gli piace molto ...)

Sempre nel mio caso ho 2 cartelle dentro bin (e units), in ordine:
1)arm-nds
2)i386-win32
Suppongo che nel tuo caso, la prima cartella, diventi arm-linux.

Poi le prove le faccio via emulatore. Quando sono soddisfatto dei miei pastrocchi, lo passo dentro la nintendo.

In ogni caso, potresti leggere le indicazioni di Legolas, per quanto datate sono sempre un ottimo spunto di riflessione/partenza.

Ciao e buon cross ;)
Stilgar