Но было бы еще неплохо использовать Gtk::Application, тем более что в официальной документации это настоятельно рекомендуется (под предлогом того, что Gtk::Main уже «Deprecated») [пруф].
Ну и версия GTK 2.4 при стабильной 3.4… Уж лучше сразу людей учить новым версиям, чем потом переучиваться.
На самом деле пример компилировался с gtk+-3.5.2 и gtkmm-3.0.1, которые собирались из исходников для создания независимого окружения для разработки. А в официальном репозитории моей Убунты был только пакет со второй версией, поэтому он и приведён в примере с установкой. Код должен работать и на старой версии. За замечание с Gtk::Application спасибо, не знал. Видимо надо обновить gtkmm до версии 3.4, в которой это появилось.
Gtk не очень дружелюбен в этом плане. Например код, написанный для Gtk 2 будет работать на Gtk 3, но с предупреждениями и ошибками. Код написанный для Gtk 3 в большинстве случаев не будет работать на Gtk 2.
Взять тот же GtkBox. Во втором Gtk у нас были VBox и HBox для вертикальных и горизонтальных контейнеров. В третьем же Gtk у нас есть только Box, при создании которого мы указываем ориентацию. Если же вы попытаетесь использовать vbox или hbox, то должно вывестись злобное предупреждение на терминал, хотя контейнер все-таки появится.
Создание приложений на GTK+/gtkmm с использованием среды Glade