Я пытаюсь начать изучать разработку приложений GTK + на 64-битной Ubuntu 17.04 с использованием C ++ в Eclipse CDT IDE, и у меня возникали проблемы при попытке включить библиотеку GTK. Я задаюсь вопросом, почему не работают включения. Я установил gtk 2.0 (DEV) и недавно установил gtk 3.0, чтобы посмотреть, поможет ли это безрезультатно. Вот мой код:
#include <iostream>
#include <gtk/gtk.h>
int main()
{
return 0;
}
Я использую следующие флаги компилятора:
-I/usr/include/gtk-3.0 -I/usr/include/glib-2.0 -O0 -g3 -Wall -c -
fmessage-length=0
Я получаю следующую ошибку от моего компилятора:
g++ -I/usr/include/gtk-3.0 -I/usr/include/glib-2.0 -O0 -g3 -Wall -c -
fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.o" -o "main.o""../main.cpp"In file included from /usr/include/glib-2.0/glib/galloca.h:32:0,
from /usr/include/glib-2.0/glib.h:30,
from /usr/include/gtk-3.0/gdk/gdkconfig.h:13,
from /usr/include/gtk-3.0/gdk/gdk.h:30,
from /usr/include/gtk-3.0/gtk/gtk.h:30,
from ../main.cpp:2:
/usr/include/glib-2.0/glib/gtypes.h:32:24: fatal error: glibconfig.h:
No such file or directory
#include <glibconfig.h>
^
compilation terminated.
make: *** [main.o] Error 1
subdir.mk:18: recipe for target 'main.o' failed
Используя pkg-config для флагов компилятора, вам необходимо включить библиотеку gtk + -2.0 и ее зависимости. Добавление этого к вашей команде компилятора решает проблему.
В Eclipse CDT это можно найти в Свойствах проекта -> Сборка C / C ++ -> Настройки -> Компилятор GCC C ++, а затем отредактировать «Команду».
g++ `pkg-config --cflags --libs gtk+-2.0`
Других решений пока нет …