Программирование на C++

10 способов прострелить себе ногу

Создание веб приложений

В инете столько порнухи, что создается впечатление, что каждая женщина на Земле хотя бы раз в ней снималась...

Подпись для третьего не придумал

Американец изнасиловал лошадь, потому что думал, что у них родится кентавр

Помощь обездоленным якутам на дальнем севере

Благотворительность (на правах рекламы)

среда, 14 августа 2013 г.

Интеграция библиотеки GObject/Glib в Code::Blocks


GObject - библиотека, которая является надстройкой над С, добавляющая в этот язык всю мощь Объектно ориентированного программирования.
Выглядит, конечно, как велосипед, везде макросы, очень странные требования, создание нескольких структур под разные цели (Private структура, Public структура итд), к тому же я не понимаю в чем смысл использовать ее, когда есть великий и могучий С++, но, если выбора нету, то придется использовать.
Причем GObject очень часто используется в GNOME. Напомню, что GObject является частью GTK+ (GIMP Toolkit). Для справки: На основе GTK+ написано окружение GNOME, XFCE, LXDE, KDE.
Этапы интеграции:
1) Установка Code::Blocks
2) Установка GObject (zypper install gcc gcc-c++ glib2-devel)
3) Создаем любой проект, где выбираем язык С.
4) Найдем где используется наша GObject библиотека:
     pkg-config --cflags --libs gobject-2.0
Получили результат (мой случай, в вашем может быть другой путь):
  -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -lgobject-2.0 -lglib-2.0
5) Идем в Project->Build Options->Compiler Settings->Other Options
6) Копируем (-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include) в текстовое поле
7) Идем в Project->Build Options->Linker Settings->Other Linker Options
8) Копируем (-lgobject-2.0 -lglib-2.0) в текстовое поле
9) Строим проект
10) :EEE Все работает
Если есть вопросы, пишите, спасибо за внимание :3