Проект GTK+ в Eclipse SDK

Разработчики GTK+ сказали, что нужно компилировать приложения с использованием их библиотек так:

gcc `pkg-config —cflags —libs gtk+-2.0` gtk.c -o gtk

Подробнее о создании самого приложения можно прочитать тут.

Для создания GTK приложения в Eclipse SDK необходимо подключить все необходимые библиотеки. Прежде всего создаём новый проект в Eclipse. После этого идём в Свойства прокта — Project — Properties и переходим в левом столбце в раздел C/C++ General — Path and Symbols

 

В разделе GNU C добавляем все необходимые пути библиотек. Получить их список можно при помощи команды:

pkg-config —cflags gtk+-2.0

У меня вывод такой:

-pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12

После того как добавлены все пути укажем необходимые библиотеки компоновщику. Для этого перейдём в раздел С/С++ Build — Settings — GCC C Linker — Libraries и добавить необходимые библиотеки. Список всех библиотек:

pkg-config —libs gtk+-2.0

-pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lm -lcairo -lpng12 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0

Мне понадобилась только одна:

После этого сохраняем изменения и тестируем. Вот простой пример приложения с использованием gtk:

#include <stdio.h>
#include <stdlib.h>
#include <gtk/gtk.h>

int main(int argc, char** argv) {

    GtkWidget *window;
gtk_init(&argc, &argv);

    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
gtk_window_set_default_size(GTK_WINDOW(window), 200, 100);
gtk_window_set_title(GTK_WINDOW(window), «how2.org.ua»);
gtk_widget_show(window);

    g_signal_connect(window, «destroy», G_CALLBACK (gtk_main_quit), NULL);
gtk_main();
return (EXIT_SUCCESS);
}

Теперь компилируем — запускаем и получаем вот такое окно:

 

Похожий код:

Фото аватара
Алексей Петров

Программист, разработчик с 5 летним опытом работы. Учусь на разработчика игр на Unity и разработчика VR&AR реальности (виртуальной реальности). Основные языки программирования: C#, C++.

Оцените автора
Бла, бла код
Добавить комментарий