Попробуйте Common C ++ . Я сам не использовал его, но он поддерживает то, что вы упомянули.
Boost имеет ряд переносимых интерфейсов для некоторых вещей, которые вам нужны, например Boost.Interprocess или Boost.Asio .
Qt решает многие проблемы, которые обычно зависят от платформы. В основном это касается графического интерфейса, но консольные вещи тоже рассматриваются. Например:
Там Qt - что намного больше, чем просто библиотека GUI. Nokia называет это «рамкой приложений и пользовательского интерфейса». Часть «приложение» относится к оболочке Qt интерфейсов для файлов, сокетов, потоков и многого другого.
Qt - это C ++, и IMHO одна из лучших разработанных баз кода C ++, так что попробовать ее определенно стоит.