LINUX.ORG.RU

не могу этот GTK+ поставить... =(


0

0

Здравствуйте! Я новичек в Linux :) Пожалуйста, помогите поставить GTK+ нормально... а то там куча зависимостей... скомпилить не получилось.. поставил готовые пакеты... только вот компилиться проги не хотят =(

#include <gtk/gtk.h> int main(int argc, char *argv[]) { GtkWidget *window; gtk_init(&argc,&argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_widget_show(window); gtk_main(); return 0; }

компилю так: gcc -o test test.c `gtk-config --cflags --libs`

это компилится... и больше ничего... если скомпилить исходник, использующий GTK_OBJECT, GTK... то получаю ошибки типа этих:

/tmp/ccSZqZ8i.o: In function `choose_greeting': test.c:(.text+0xf): undefined reference to `G_N_ELEMENTS' test.c:(.text+0x20): undefined reference to `g_random_int_range' /tmp/ccSZqZ8i.o: In function `main': test.c:(.text+0x1ca): undefined reference to `G_CALLBACK' test.c:(.text+0x1da): undefined reference to `G_OBJECT' test.c:(.text+0x1f2): undefined reference to `g_signal_connect' test.c:(.text+0x201): undefined reference to `G_CALLBACK' test.c:(.text+0x211): undefined reference to `G_OBJECT' test.c:(.text+0x228): undefined reference to `g_signal_connect'

пожалуйста, скажите, что еще надо поставить... или еще лучше скажите все, что надо поставить для полноценной работы с GTK+ :)

Я поставил вроде все, что надо: gtk1.2-dev, atk, pango, libpng, glib..

Скажите, пожалуйста, что не хватает... :) Заранее огромноооое всем спасибо :)

Милый некрофил, огласите название Вашего дистрибутива и причину по которой Вы _НЕ_ пользуетесь пакетным менеджером для установки GTK+. Это раз, а два -

>Я поставил вроде все, что надо: gtk1.2-dev, atk, pango, libpng, glib..

нахрена gtk+ первой версии? или ты собрался писать под него О_о?

animechaos
()
Ответ на: комментарий от animechaos

прошу не обижаться на мои высказывания - просто пребываю в культурном шоке от

>gtk1.2-dev

утерянного в истории лет эдак 5-8 назад.

animechaos
()
Ответ на: комментарий от animechaos

хы =) и почему на этом форуме меня все называют "некрофилом" и "милым" ? :D :D :D

У меня GTK 1.2.10... дистрибутив - Linux UBUNTU 7.10 :)

а какой тогда GTK юзать? :(

Necromancer13
() автор топика
Ответ на: комментарий от Necromancer13

и кстати, пакетным менеджером я не знаю, как устанавливать GTK+.. у меня там такое огромное количество программ... на 25 ГБ,.. я не знаю, как среди них найти GTK+... пробовал, но не нашел...

Necromancer13
() автор топика
Ответ на: комментарий от Necromancer13

>а какой тогда GTK юзать? :(

Используем GTK+ версии 2 (первая устарела слишком давно).

animechaos
()
Ответ на: комментарий от Necromancer13

>и кстати, пакетным менеджером я не знаю, как устанавливать GTK+

соответственно производим следующие манипуляции:
aptitude search gtk
далее
aptitude install имена_нужных_пакетов

(если собираешся заняться программингом с использованием GTK, то придётся установить имя_нужного_пакета-dev).
Вроде как достаточно.
и вообще, почитай немного про apt - полезно для нервов(и ваших и наших).

Ах да, ты подключил локальные репозитории с дисков (у тебя же, как я понял их хренова туча?). Если что, то делается это командой apt-cdrom (в параметрах разберёшься сам, ничего сложного нет).
Вот теперь всё. deb-based системы под рукой нет (ни близко, ни далеко), так, что помогал по-памяти (мог где-нибудь наврать).

animechaos
()
Ответ на: комментарий от Necromancer13

>хы =) и почему на этом форуме меня все называют "некрофилом" и "милым" ? :D :D :D

Ответ на этот философский вопрос содержится в твоём никнэйме: вот смотри - некромансер (некромант) - самые страшные и злые черные маги, умершие и вновь ожившие, потому что их души не принял ад (с) Wikipedia. Т.е. это любитель трупов -> утрируем - некрофил. Идём далее - число 13 наводит на мысль о возрасте и неудачах -> по Фрейду ... (придумай что-нибудь сам).

ЗЫ успешной настройки

animechaos
()
Ответ на: комментарий от animechaos

да с apt-cdrom я вроде разобрался... сейчас буду пробовать использовать то остальное, о чем ты писал :)

почему о возрасте? мне 15, а не 13... а то, что неудачи - ты прав... проблем у меня в жизни оччччень много...

Некромант - это осталось от WarCraft'а... раньше часто играл и писал AI для ботов на JASS'е :)

[ЗЫ успешной настройки] Спасибки :) буду пробовать... если не получится, то поставлю Qt и буду учить С++... правда мне ООП не нравится...

Necromancer13
() автор топика
Ответ на: комментарий от Necromancer13

>правда мне ООП не нравится.

спешу обрадовать: гтк - тоже ООП. не всё ооп, что приплюснуто

Pi ★★★★★
()
Ответ на: комментарий от Pi

да знаю, что ООП - читал... да вот только когда qt - то пишут обычно на С++ (объектно-орриентированом языке), а когда GTK+, то тогда на С/С++... а чтоб Qt и C - я не слышал такого...

Necromancer13
() автор топика

Попробуй glib-config

ttnl ★★★★★
()
Ответ на: комментарий от Necromancer13

>а когда GTK+, то тогда на С/С++

Ага, а про питон, руби, пёрл никогда не слышал? :)

И вообще, плюсы - кака, брось пока не поздно. ИМХО конечно же.

animechaos
()
Ответ на: комментарий от animechaos

[quote] > Моё мнение относительно плюсов никоим образом не относится к кутэ, так > что без флэймов плиз... [/quote] сорри... не помнял твое сообщение :-[

сейчас попробую glib-config... :)

кстати, aptitude search gtk нашел 437 пакетов... может скажите, какие именно надо... а то я эти 437 пакетов и до завтра не установлю...

Necromancer13
() автор топика
Ответ на: комментарий от Necromancer13

>кстати, aptitude search gtk нашел 437 пакетов... может скажите, какие именно надо... а то я эти 437 пакетов и до завтра не установлю...

Блин, я писал, что у меня не deb-based система, у меня - gentoo.
Но совет дам - найди и установи всё что связано с gtkmm (это биндинги к плюсам), в том числе и -dev пакеты. В этом варианте аптитуда сама вытянет необходимые зависимости и установит.

Всё, моих нервов на большее не хватит.

animechaos
()
Ответ на: комментарий от animechaos

Эй! Я установил все, что ты говорил, Кобольд, кроме gtk2-examples (этого нету...)....

а все равно... компилю прогу... ( gcc -o test test.c `gtk-config --cflags --libs` ) и те же самые ошибки вижу...

animechaos, а теперь буду устанавливать все то, что ты сказал.. :)

Necromancer13
() автор топика
Ответ на: комментарий от animechaos

Эх... установил все то, что Вы сказали... рууи аж болят ;) просто устанавливая каждый пакет по пару раз приходится в cd-romе диск менять... то "поставьте диск #1", то #2, то #3, #4, #5....

но я установил, а не помогло.. эх...

вот, что пишет:

[ necromancer13@necromancer13-desktop:~/cs$ gcc -o test test.c `pkg-config --cflags --libs gtk+-2.0` Package gtk+-2.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `gtk+-2.0.pc' to the PKG_CONFIG_PATH environment variable No package 'gtk+-2.0' found test.c:1:21: error: gtk/gtk.h: No such file or directory test.c:19: ошибка: expected ‘)’ before ‘*’ token test.c:27: ошибка: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘cb_delete’ test.c: В функции ‘main’ test.c:35: ошибка: ‘GtkWidget’ undeclared (first use in this function) test.c:35: ошибка: (Each undeclared identifier is reported only once test.c:35: ошибка: for each function it appears in.) test.c:35: ошибка: ‘window’ undeclared (first use in this function) test.c:35: ошибка: ‘button’ undeclared (first use in this function) test.c:35: ошибка: ‘label’ undeclared (first use in this function) test.c:35: ошибка: ‘vbox’ undeclared (first use in this function) test.c:43: ошибка: ‘GTK_WINDOW_TOPLEVEL’ undeclared (first use in this function) test.c:46: ошибка: ‘FALSE’ undeclared (first use in this function) test.c:53: ошибка: ‘cb_delete’ undeclared (first use in this function) test.c:53: ошибка: ‘NULL’ undeclared (first use in this function) test.c:56: ошибка: ‘cb_button_click’ undeclared (first use in this function) necromancer13@necromancer13-desktop:~/cs$ ]

а если с такими опциями как я - то те же ошибки, что я в начале темы писал... =( =(

не знаю даже, что делать..

Necromancer13
() автор топика
Ответ на: комментарий от Necromancer13

>Package gtk+-2.0 was not found in the pkg-config search path.

усё ясно, dpkg чёто-там_реконфигуре libgtk..., короче говоря к дебианщикам вопросы - не помню.

animechaos
()
Ответ на: комментарий от Necromancer13

кобольд, animechaos, спасибо вам огромное! Вы мне очень помогли =) Я не знал, что линуксоиды бывают такими добрыми ;) спасибки!! :) export PGK_CONFIG_PATH=/usr/lib/pkgconfig gcc -o test test.c `pkg-config --cflags --libs gtk+-2.0` Все ок! :) скомпилилось! :)) ура)) gtk-config --cflags --libs не работает... Ну и черт с ним! ;) только можно бы переменную GTK_CONFIG_PATH каждый раз не менять? а чтоб она сама менялась? :-[ Спасибки всем! :))

Necromancer13
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.