Un compilator încrucișat este un compilator care produce cod executabil pentru o altă platformă decât cea pe care rulează compilatorul încrucișat. Un astfel de instrument este util atunci când trebuie să obțineți cod pentru o platformă ale cărei instanțe nu sunt disponibile sau în cazurile în care compilarea pe platforma țintă este imposibilă sau nepractică (de exemplu, aceasta se aplică sistemelor mobile sau microcontrolerelor cu o cantitate minimă de memorie ).
Un exemplu de compilator încrucișat este MinGW GCC cu opțiunea -mno-cygwin . Cu această opțiune, el poate crea cod în mediul Cygwin care utilizează numai biblioteci Windows native.
GCC , un set de compilatoare pentru diferite limbaje de programare, poate fi folosit pentru compilare încrucișată.
Compilarea încrucișată cu GCC necesită ca o versiune compilată de binutils să fie disponibilă pentru platforma țintă . Prezența GNU Assembler este deosebit de importantă . binutils trebuie să fie precompilat cu cheia dată scriptului--target=some-target de GCC ar trebui să aibă și o opțiune cu același conținut. După aceea, pentru ca GCC să folosească binutilurile rezultate, trebuie să puneți calea către ele în variabila de mediu cale , de exemplu: --target
PATH = /path/to/binutils/bin: ${ PATH } make