1

Тема: не находит gtk.h при компиляции проэкта в esbox

при сборке из консоли достаточно вписать pkg-config --cflags --libs gtk+-2.0
Куда в esbox'е это вписать? В нокиевском мануале они прописывают pkg-config в makefile. Пробовал, ничего не получилось.. Хэлп плииз smile

N810

2

Re: не находит gtk.h при компиляции проэкта в esbox

Вот так:

gcc `pkg-config --cflags --libs gtk+-2.0` your-source-file.c -o yourprogram
N̶8̶0̶0̶ + N̶8̶1̶0̶ + N̶9̶0̶0̶ + N̶9̶5̶0̶ + N̶9̶ ̶C̶y̶a̶n̶ + N̶9̶ ̶B̶l̶a̶c̶k̶

3

Re: не находит gtk.h при компиляции проэкта в esbox

так я и делал в консоли, там все работает. Но если создавать проект в esbox, то возле надписи "#include <gtk/gtk.h>" пишет "unresolved inclusion"

N810

4

Re: не находит gtk.h при компиляции проэкта в esbox

Аа, ES-Box-то я и не заметил...
Никогда им не пользовался, не подскажу... Если не забуду — гляну когда до дома доберусь.
Если забуду — напомните smile

N̶8̶0̶0̶ + N̶8̶1̶0̶ + N̶9̶0̶0̶ + N̶9̶5̶0̶ + N̶9̶ ̶C̶y̶a̶n̶ + N̶9̶ ̶B̶l̶a̶c̶k̶

5

Re: не находит gtk.h при компиляции проэкта в esbox

А вы проект в ESbox как создавали? Если создавать проект как «C (или С++) Maemo Project», то все зависимости и инклюды вроде подцепляет автоматически.

N̶8̶0̶0̶ + N̶8̶1̶0̶ + N̶9̶0̶0̶ + N̶9̶5̶0̶ + N̶9̶ ̶C̶y̶a̶n̶ + N̶9̶ ̶B̶l̶a̶c̶k̶

6

Re: не находит gtk.h при компиляции проэкта в esbox

все дело в том, что я создавал Empty Maemo C++ Project, там папки инклудов прописаны ток основные. над было писать <gtk-2.0/gtk/gtk.h> или прописывать папки инклудов, так сказать, поближе к ним самим.. легче уже создать из шаблона hello world и изменять исходники под себя, даи с makefile'ом можно не возиться... В любом случае, спасибо что откликнулись smile

N810

7

Re: не находит gtk.h при компиляции проэкта в esbox

Дело в том, что для «C/C++ Maemo Project» ESBox создаёт полноценное окружение с помощью autotools: все эти Makefile.in, configure, и ещё туча скриптов.

А вы, как я понял, сами Makefile пишете?
Если да, то вы прямо в Makefile можете и написать:

yourbinary: source1.c source2.c
        gcc `pkg-config --cflags --libs gtk+-2.0` $^ -o $@

Дело, кстати, не только в пути к gtk-шным инклюдам, но и в библиотеках, с которыми компилятор должен линковать ваш проект, их тоже нужно не забыть прописать.

Если вы пишете Makefile сами, выложите его здесь, обсудим smile  А то не видя вашей ситуации не совсем понятно о чём речь.


Лично я ненавижу autotools и для небольших проектов пишу мэйкфайлы руками, вставляя в них код, похожий на тот, что выше.

N̶8̶0̶0̶ + N̶8̶1̶0̶ + N̶9̶0̶0̶ + N̶9̶5̶0̶ + N̶9̶ ̶C̶y̶a̶n̶ + N̶9̶ ̶B̶l̶a̶c̶k̶

8

Re: не находит gtk.h при компиляции проэкта в esbox

я пробовал вписывать pkg-config в созданный автоматом makefile:

CXXFLAGS += $(shell pkg-config --cflags gtk+-2.0)

и все равно не получалось. Плюс в makefile я не вписал исходники(проект то пустой создавался), ему и нечего было компилить big_smile

N810

9

Re: не находит gtk.h при компиляции проэкта в esbox

Без исходников, очевидно, ничего не скомпилируется wink

Вы покажите что ли вывод make или ещё что-нибудь. А то по фразе «и все равно не получалось» совершенно не понятна причина проблемы smile

N̶8̶0̶0̶ + N̶8̶1̶0̶ + N̶9̶0̶0̶ + N̶9̶5̶0̶ + N̶9̶ ̶C̶y̶a̶n̶ + N̶9̶ ̶B̶l̶a̶c̶k̶