Учет требований GTK3 для сборки и компиляции программ в Debian "Wheezy"
Версия: 0.1 Aвтор: Андрей Ржавсков (Andrey Rjavskov [Rzhavskov]) as known rjaan | ||||
1.Введение | ||||
В настоящее время в Debian Wheezy поддерживается как GTK2, которая устанавливается по умолчанию, так и GTK3. Поэтому, для тех кто хочет использовать последнюю, нужно выполнить некоторые действия, чтобы установить deb-пакеты разработчику, с помощью которых осуществляется сборка и компиляция программ. В качестве примера здесь приводится проект ugtkmainwindow, предусматривающий возможность сборки под третью версию GTK+. По умолчанию ugtkmainwindow собирается с учетом требований GTK2, а при запуске './configure' с опцией '--with-gtk3' инициируется сборка в сооветствие с требованиями GTK3. При этом для версии 1.0 она неизбежно завершится со следующей ошибкой:
| ||||
2. Установка недостающих пакетов | ||||
Первое, что нужно сделать, убедиться, что библиотека libgtk-3 установлена (под правами суперпользователя root):
Затем, устанавливаем пакет libgtk-3-dev, содержащий заголовочные файлы и средства разработки, необходимые для сборки приложений с GTK3.
# apt-get install libgtk-3-dev libgtk-3-doc
| ||||
3. Сборка проекта ugtkmainwindow | ||||
В корне проект ugtkmainwindow версии 1.1 выполнить:
Версия 1.1 является модификацией версии 1.0 проекта ugtkmainwindow, целью которой было завершить реализацию поддержки сборки указанного проекта c учетом требований GTK3. Сначала, в заголовочных файлов и файлах исходного кода, с использование директивы HAVE_GTK3 были внесены необходимые изменения. После этого, в файле configure.ac сделаны изменения, выделенные жирным курсивом ниже.
При запуске './configure' с явно указанной опцией '--with-gtk3' (в сооветствие с макросом AC_DEFINE) в заголовочном файле config.h будет создана препроцессорная директива HAVE_GTK3, используя которую разработчик имеет возможность учитывать требования, предъявляемые третьей версии библиотеки Gtk+ с сохранением возможности сборки под вторую. | ||||
4. Требования к коду для сборки GTK3 | ||||
В отличии от второй версии GTK+, в третьей запрещено использовать какие-либо заголовочные файлы за исключением <gtk/gtk.h>. При игнорировании данного требования сборка будет немедленно завершена с ошибкой:
В заголовочных файлах и файлов исходного кода необходимо включить автоматически созданный в корне проекта заголовочный файл config.h.
Об остальных изменений в третьей версии GTK+, читайте позднее, потому что они касаются непосредственного применения отдельных виджетов. | ||||
5. Библиография | ||||
5.1. Compile Gxsm-2.0 and Gxsm-Manual on Debian 7.0 'Wheezy' | ||||
Вернуться к Оглавлению | ||||
Copyright © 2010-2014 rjaan as Andrey Rjavskov(Rzhavskov) <rjaan@yandex.ru> <arjavskov@gmail.com> | ||||
Сайт создан в системе uCoz
|