У меня лично была одна и та же цель для проекта, и я пришел к выводу, что Qt framework был лучшим для меня. Он работает с несколькими языками, строками Unicode, XML, сетевыми коммуникациями, пользовательскими интерфейсами, похожими на нативные, консольными приложениями: он может выполнять ОЧЕНЬ много.
Однако, как указал Пол, вам действительно нужно планировать это с самого начала.
Qt хорошо абстрагирует платформу (в модуле с именем QtCore), позволяя вам писать ванильный код C ++, или вы можете включить некоторые расширения языка Qt C ++, которые вспомогательное приложение Qt назвало moc (мета-объект compiler) создает vanilla C ++, из которой он может быть скомпилирован наиболее распространенными компиляторами C ++.
Он также имеет изящный кроссплатформенный генератор make-файлов под названием qmake, который работает с файлами проекта для создания обычных файлов make для платформы, на которой он работает.
Вне головы, по крайней мере, Windows XP и 7, OSX 10.4, 10.5, 10.6 поддерживаются в настоящее время. Но обратите внимание, что OSX Lion (на момент написания) официально не поддерживается, но я подозреваю, что это будет в следующем выпуске.