Пока вы используете стандартный C ++, ваш код будет кроссплатформенным. Вы также можете использовать кроссплатформенные библиотеки, такие как STL, boost, Poco, Qt и т. Д. *
Только когда вы начинаете использовать специфичный для платформы код, вы теряете переносимость. Например, включение <windows.h>
сделает ваш код компилируемым только в Windows. (Существуют такие методы, как макрос #ifdef. Это позволяет использовать определенные части кода только на одной платформе.)
Так что простая программа hello world должна работать на Linux, Mac, Windows или любой другой платформе. Вам не нужно ничего особенного для этого.
Примечание:
Некоторые могут упомянуть Cygwin или mingw32. Я кратко объясню, что это такое:
Cygwin позволяет вам компилировать приложения Linux с помощью gcc / g ++ на компьютере с Windows.
Mingw32 позволяет вам компилировать приложения Windows, используя gcc / g ++ на компьютере с Windows.
Edit:
Если вы хотите настроить систему для кросс-компиляции, то я рекомендую вам взглянуть на cmake .