Pagina 1 di 1

Crosscompilare con Clang

Inviato: lun, 29 mar 2021 12:48
da Hammarby
Questo è un breve tutorial per crosscompilare usando clang su OSX 10.13.6 ma che credo si adatti anche a versioni successive.
Prerequisiti sono l'ambiente relativo all'architettura target ed il relativo albero di sviluppo con il makefile adatto a clang.
Se provassimo a compilare con XCode, otterremmo un errore perché la versione rilasciata con High Sierra è obsoleta
ed Apple non consente l'aggiornamento, dobbiamo perciò installare una versione di clang aggiornata con brew

Codice: Seleziona tutto

brew install --build-from-source llvm 
Dopo un tempo piuttosto lunghetto, necessatio a ricompilare da zero tutto clang e llvm, il compilatore sarà disponibile,
ma ancora non utilizzabile in quanto OSX di default usa quello fornito da Apple.
Dovremo aggiungere questa riga in fondo al file .bash_profile nella directory $HOME

Codice: Seleziona tutto

export PATH="/usr/local/opt/llvm/bin:$PATH"
A questo punto digitando
clang --version
potremo verificare che il compilatore utilizzato è quello che abbiamo installato con brew.
Ancora non è sufficiente però per compilare il nostro codice per target diverso da quello del Mac ospite,
dobbiamo infatti fare in modo che l'albero di include sia quello corretto.
Nei makefiles del nostro progetto va inserita la clausola

Codice: Seleziona tutto

-I/(percorso completo dell'albero di include fornito con l'albero di sviluppo)/include
A questo punto possiamo finalmente eseguire una compilazione corretta.

Re: Crosscompilare con Clang

Inviato: lun, 29 mar 2021 20:51
da Scialla
Già faccio una fatica estrema a compilare due cavolate sotto Raspian.... direi che non è il "me mesté"