В настоящее время я пытаюсь написать простую программу с помощью gtkmm, но у меня возникают проблемы, когда я пытаюсь ее скомпилировать. У меня есть несколько простых файлов: main.cc, который содержит только основные функции, test.cc и test.h, которые определяют основанный на классе Gtk :: Window с парой кнопок в нем, и, наконец, простой make-файл.
Проблема возникает, когда я пытаюсь скомпилировать make-файл, он возвращает:
In file included from main.cc:2:
test.h:12: fatal error: gtkmm.h: No such file or directory
Если затем заменить #include <gtkmm.h>
на #include <gtkmm-2.4/gtkmm.h>
, возвращается ошибка:
In file included from test.h:12,
from main.cc:2:
/usr/include/gtkmm-2.4/gtkmm.h:87: fatal error: glibmm.h: No such file or directory
Я некоторое время искал решение и искал его в Интернете, но у других пользователей, у которых была похожая проблема, это было вызвано отсутствием `pkg-config --cflags --libs gtkmm-2.4` в их makefile. К сожалению, это не было источником моей проблемы, так как она у меня была все время.
Самое странное, что это работает, когда я не использую make-файл. Если я возьму функцию main из своего файла main.cc и вставлю ее в файл test.cc, введите:
g++ test.cc -o output `pkg-config --cflags --libs gtkmm-2.4`
в консоль, работает нормально. Это только временное исправление, так как я подхожу к тому, что мне нужно иметь более одного класса. Я не знаю, если это какая-то проблема с установкой make или gtkmm, и попытался переустановить оба, но безрезультатно. Я не знаю, что еще попробовать.
Наконец, если это помогает, я запускаю Ubuntu 10.10 с g ++ версии 4.4.5
Спасибо за любую помощь
Makefile выглядит следующим образом:
main: main.o
@echo "Main"
@g++ -g main.cc test.o -o output `pkg-config --cflags --libs gtkmm-2.4`
test.o:
@echo "Test"
@g++ test.cc -o test.o `pkg-config --cflags --libs gtkmm-2.4`
clean:
@clear
@rm -f *.o