Вопрос по g++

компьютеры программирование Linux gtk g++

Есть исходники на с++. есть make..
При попытке что-то из этих исходников собрать я получаю маты такого вида:
g++ -o **** ****.o -lpthread
****.o: In function `main':

/media/disk/xxxxxxx/xxxyyy/****.cpp:105: undefined reference to `gtk_init'
/media/disk/xxxxxxx/xxxyyy/****.cpp:106: undefined reference to `gtk_window_new'
/media/disk/xxxxxxx/xxxyyy/****.cpp:107: undefined reference to `gtk_window_get_type'
/media/disk/xxxxxxx/xxxyyy/****.cpp:107: undefined reference to `g_type_check_instance_cast'

и т.д. Что может быть не так, чего может не хватать? (все библиотечки которые есть в самом cpp и в мэйке нашла, вроде бы все есть)

Примечание:
мэйк:
CXXFLAGS = -O2 -g -Wall -fmessage-length=0 -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/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0

OBJS = lab4-client.o

LIBS = -lpthread

TARGET = lab4-client

$(TARGET): $(OBJS)
$(CXX) -o $(TARGET) $(OBJS) $(LIBS)

all: $(TARGET)

clean:
rm -f $(OBJS) $(TARGET)

Примечание:
человекпакет
Сорцы не мои, к вопросу автотулс не относятся.

Примечание:
katzyn
все либы указанные в мэйке и в самом cpp есть. в cpp есть #include <gtk/gtk.h>

Примечание:
alexander.p
в общем я дурочка и сама могла бы догадаться, да?:-[
я вас почти люблю:) я двое суток ковыряла систему и эти сорцы...

Примечание:
katzyn
они есть, я просто ступила очень видимо, надо было внимательнее читать ВЕСЬ мэйк.
теперь скомпилилось

Примечание:
"в CXXFLAGS библиотекам не место."
а где лучше?:)

Примечание:
katzyn
ну так-то да... логичнее))
Ответы:
Ну вот подключение библиотеки pthread с помощью -lpthread вы указали. А про gtk забыли? Надо ещё, кажется, -lgtk-x11-2.0 дописать. Также замечу, что если у вас установлен сам GTK2, это ещё вовсе не означает, что установлены и библиотеки, необходимые для компиляции приложений, его использующих. Хотя, хедеры и библиотеки для линковщика обычно вместе идут, а на инклюды у вас, насколько я понимаю, не ругается; так что, наверное, у вас всё есть.
Повтыкай про системы сборки. autotools всякие и сотоварищи. Потому что указывать ручками стопиццот либ каждый раз - удовольствие ниже среднего.
"$(CXX) -o $(TARGET) $(OBJS) $(LIBS)" замените на "$(CXX) -o $(TARGET) $(OBJS) $(CXXFLAGS) $(LIBS)"


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.