Для компиляции программы, работающей в Linux, вы используете компилятор, сконфигурированный для создания исполняемых файлов с открытым исходным кодом, т.е. исполняемых в системе без операционной системы.Это не сработает, по крайней мере, без особых усилий по переносу.
Вы должны использовать кросс-компиляторный набор инструментов с заголовками и библиотеками, которые поддерживают вашу целевую операционную систему.