A Кросс-компилятор - это компилятор, способный создавать исполняемый код для платформы, отличной от той, на которой работает компилятор.
Например, компилятор, работающий на ПК с Windows 7, но генерирующий код, работающий на смартфоне Android, является кросс-компилятором.
Кросс-компилятор необходим для компиляции нескольких платформ с одного компьютера.
Платформа может быть недоступна для запуска компилятором, например, для микроконтроллера встроенной системы, поскольку эти системы не содержат операционной системы.
При паравиртуализации на одной машине работает много операционных систем, и кросс-компилятор может сгенерировать исполняемый файл для каждой из них из одного основного источника.