Kompilator skrośny (ang. cross compiler) – kompilator zdolny do generowania kodu maszynowego dla platformy procesora innej niż ta, na której został ten kompilator uruchomiony.
Kompilator skrośny jest niezbędny do kompilowania kodu programów na platformy, na których nie ma zainstalowanych narzędzi do kompilacji oprogramowania, w tym takich, które z racji swoich ograniczeń nie byłyby w stanie przeprowadzić procesu budowania oprogramowania. Typowym przykładem wykorzystania kompilatorów skrośnych jest kompilacja oprogramowania dla systemów wbudowanych. W takim przypadku kompilator jest uruchamiany na stacji roboczej (np. komputerze klasy PC z mikroprocesorem z rodziny Intel x86) i generuje kod binarny dla systemu wbudowanego (np. urządzenia z mikroprocesorem ARM lub mikrokontrolerem AVR). Do innych powodów wykorzystania kompilacji skrośnej należą:
- przyspieszenie procesu kompilacji (gdzie wykorzystuje się np. wieloprocesorowe maszyny budujące oprogramowanie dla urządzeń o dużo mniejszej mocy obliczeniowej),
- konieczność posiadania specyficznych zasobów (np. pamięciowych) powodujących, że kompilacja na urządzeniu docelowym jest niemożliwa lub bardzo utrudniona,
- procedury związane z jakością kodu np. z praktykami ciągłej integracji (ang. continuous integration), gdzie zaleca się by po każdej zmianie projekt był budowany dla wszystkich docelowych architektur sprzętowych