La cross-compilazione è la tecnica mediante la quale si compila un codice sorgente con un cross-compilatore, ottenendo così un file binario eseguibile su di un elaboratore con architettura diversa da quella della macchina su cui si è lanciato il cross-compilatore stesso. La cross-compilazione viene usata anche quando è necessario compilare un programma per un sistema operativo differente dalla macchina su cui si trova il compilatore e linker. La macchina che esegue il cross-compilatore viene detta host mentre la macchina sulla quale si eseguirà il binario ottenuto dal processo di cross-compilazione è detta target.