Как и другие упомянутые, вы не можете смешать «кроссплатформенный» и маленький по размеру в одном предложении.
Больше работы, меньше по размеру:
Одно из решений, которое я могу предложить, это использовать нативную привязку Python для пользовательского интерфейса. Поскольку вы уже используете boost, довольно просто установить Boost.Python для связи между пространством C ++ и пространством python. У вас уже есть Python для Linux и его пакет размером 20-40 МБ для Windows (не могу вспомнить, насколько велика последняя версия). Но здесь вам придется использовать привязку win32 на окнах и привязки gtk / qt на linux, так что больше работы. Нет, слишком много работы для поддержания, поцарапайте это.
Умеренная работа, меньше по размеру, но с ненативными элементами управления:
Вы можете попытаться получить беспорядок или freeglut, чтобы получить работу вашего пользовательского интерфейса, но я лично не использовал их, поэтому я не знаю, предоставляют ли они полный нативный внешний вид для ваших приложений. Но они имеют небольшие размеры по сравнению с WX или QT.
Меньше работы, больше по размеру:
Используйте WxWidgets, если вы уже знакомы с ним, в противном случае я рекомендую Qt.
Вы также можете посмотреть на другие предложения: http://en.wikipedia.org/wiki/List_of_widget_toolkits
Беспорядок: http://www.clutter -project.org / about
FreeGLUT: http://freeglut.sourceforge.net