Ядро C++ standard и STL уже почти перекрестная платформа. Обычно это только GUI и аппаратный доступ, требующий библиотек.
Я использовал GTK + в качестве инструментария GUI, и это тоже очень хорошо, хотя вам нужно установить glib и некоторые другие вещи в окнах.
RtAudio отлично подходит для кросс-платформенных аудиовходов/выходов.
Низкоуровневые сетевые файлы/сокеты в основном одинаковы между окнами и Linux, вы можете написать очень легкий слой для обработки любых различий. У меня нет опыта работы с сетевыми библиотеками более высокого уровня.
Мне также нравится SFML (простая быстрая медиа-библиотека) для кросс-платформенного 2-го типа графического типа. Это очень хорошо.
Я хотел бы предложить, однако, что если вы просто обучения C++, то вы, вероятно, лучше не глядя на НЧ (или даже любой из этих наборов инструментов) до тех пор, пока вы получили вашу голову вокруг основ - например, написав пару базовых консольных приложений.
Если вы хотите изучить C++ только так, вы можете сделать многоплатформенный dev, имейте в виду, что есть много других языков и связанных с ними наборов инструментов, которые могут быть более подходящими, в зависимости от приложения, которое вы пишете.
Не зная тип приложения, которое вы планируете разрабатывать, трудно сказать, является ли C++ (или C или Python или что-то еще) лучшей идеей. Лично я обычно обращаюсь к Python + PyGTK для кроссплатформенных графических приложений и C# для приложений только для Windows. Вы всегда можете подключить C/C++ для замены любых компонентов, которые работают слишком медленно.
Спасибо за ваш список. – sul4bh